Как добавить значение nil в NSArray в Swift? - PullRequest
0 голосов
/ 12 мая 2018

NSArray.init (массив: [Любой])

NSArray имеет начальную функцию, параметр которой [Любой].Но не [Any?], Так как добавить значение nil в этот массив?

1 Ответ

0 голосов
/ 12 мая 2018

NSArray / NSMutableArray не позволяют вам хранить nil значения в массиве. Вот почему ни один из API-интерфейсов Swift не допускает дополнительных значений.

Если вам действительно нужно что-то для nil, используйте NSNull(), хотя я не уверен на 100%, как это будет работать с Core Data.

И Свифт фактически делает это для вас. Если вы передаете массив опций Swift, любые значения nil преобразуются в NSNull. Пример:

var array = [Int?]()
array.append(4)
array.append(nil)
let nsa = array as NSArray
print(nsa) // (4, "<null>")
print(type(of: nsa[1])) // NSNull

Обратите внимание, что использование let nsa = NSArray(array: array) вместо let nsa = array as NSArray работало без предупреждения в Swift 4.0, но выдает предупреждение, начиная со Swift 4.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...