Null传递给需要非null参数的被调用者

时间:2016-01-01 15:47:13

标签: macos cocoa nsdata ciimage

我一直用它来将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: @{}];

但我怀疑这会在将来引起我的问​​题。

这是解决此问题的正确方法吗?

1 个答案:

答案 0 :(得分:4)

  

这是解决此问题的正确方法吗?

API中似乎有一些地方接受nil值,而不是空集合,即使它没有记录为有效。 Apple为更好地支持与Swift交互工作而添加的非零注释只是突出了这些注释。