任何人都可以告诉我为什么下面的前两个循环不适用于iOS11,但在iOS13上工作,最后两个循环在iOS11和iOS13上工作?
似乎iOS13允许自动将NSData用作数据,但不是iOS11?这是否应该明确记录在某些地方?
extension NSData {
@objc func test() {
print("Data is \(self)")
// works with iOS13, but not iOS11
self.forEach {
print("byte is \($0)")
}
// works with iOS13, but not iOS11
for byte in self {
print("byte is \(byte)")
}
// works with iOS13, and iOS11
(self as Data).forEach {
print("byte is \($0)")
}
// works with iOS13, and iOS11
for byte in self as Data {
print("byte is \(byte)")
}
}
}