将 Null 传递给需要非空参数的被调用方
Null passed to a callee that requires a non-null argument
我多年来一直使用它来将 CIImage 转换为 NSData:
NSData *data = [imageRep representationUsingType: NSPNGFileType
properties:nil];
现在在 El Capitan 上我在第二行有这个错误:
Null passed to a callee that requires a non-null argument
我可以通过在属性上使用空数组来解决这个问题,如下所示:
NSData *data = [imageRep representationUsingType: NSPNGFileType
properties: @{}];
但我怀疑这会在未来给我带来麻烦。
这是解决这个问题的正确方法吗?
Is this the correct way to solve this problem?
是的。
API 中似乎有几个地方接受了 nil
值而不是空集合,即使它没有被记录为有效。 Apple 添加的 non-nil 注释以更好地支持 inter-working 和 Swift 只是突出显示这些。
我多年来一直使用它来将 CIImage 转换为 NSData:
NSData *data = [imageRep representationUsingType: NSPNGFileType
properties:nil];
现在在 El Capitan 上我在第二行有这个错误:
Null passed to a callee that requires a non-null argument
我可以通过在属性上使用空数组来解决这个问题,如下所示:
NSData *data = [imageRep representationUsingType: NSPNGFileType
properties: @{}];
但我怀疑这会在未来给我带来麻烦。
这是解决这个问题的正确方法吗?
Is this the correct way to solve this problem?
是的。
API 中似乎有几个地方接受了 nil
值而不是空集合,即使它没有被记录为有效。 Apple 添加的 non-nil 注释以更好地支持 inter-working 和 Swift 只是突出显示这些。