Null передан вызываемому, который требует ненулевой аргумент

Я использовал это, чтобы преобразовать 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 ответ

Решение

Это правильный способ решить эту проблему?

Да.

В API есть несколько мест, которые приняли nil значения, а не пустая коллекция, хотя она не была задокументирована как действительная. Ненулевые аннотации, добавленные Apple для лучшей поддержки взаимодействия со Swift, просто выделяют их.

Другие вопросы по тегам