【问题标题】:NSDATA description returning nilNSDATA 描述返回 nil
【发布时间】:2019-06-27 13:27:18
【问题描述】:

NSData 描述返回 nil 并使 NSData 对象为零。我的代码已经停止工作,我想让它再次工作。

如果我在Xcode 10 中编译我的代码,它将得到NSData 描述。但是如果我使用 Xcode 11 它会给我 nil 作为描述,它也会使 NSData nil 。我很困惑这是如何发生的。这是因为它仍然是测试版吗?这种情况在 beta 版本中正常吗?我只是想确保我的代码在新的 iOS 13 和 iPAD OS 13 出现之前仍然有效。

NSString *result = [[data description] stringByReplacingOccurrencesOfString:@" " withString:@""];

【问题讨论】:

  • 你不应该使用description,你应该正确地将数据转换为字符串。
  • 不推荐使用description,完全不用。 Apple 可以决定更改输出,明天它可能会打印 <NSData: pointerAddress> <hexData> 并破坏您的代码。而是看看如何将 NSData 转换为十六进制字符串:stackoverflow.com/questions/1305225/… 等。
  • 我非常怀疑调用[data description] 会导致您的NSData 对象为零。我会更多地研究你从哪里得到NSData,并在你创建NSData对象后立即设置一个断点,以确保它确实存在,如果它不调查对象的原因被设置为零。

标签: ios objective-c nsdata xcode11 ios13


【解决方案1】:

参见https://twitter.com/steipete/status/1174111017900503040 - iOS 13 行为(写于 GM 种子 2 时)。

正如其他人所说,您不应该以这种方式使用 [NSData description]。

【讨论】:

    猜你喜欢
    • 2015-12-10
    • 2016-10-19
    • 1970-01-01
    • 2016-01-12
    • 2015-08-31
    • 2016-09-04
    • 1970-01-01
    • 2019-01-24
    相关资源
    最近更新 更多