#ios #objective-c
#iOS #objective-c
Вопрос:
Я работал над проектом, реализующим Hola CDN framework. Теперь я столкнулся с проблемой, из-за которой я не могу передать текущую дату параметру programmday, и я отследил исходный код и нашел строку ниже. Что означает эта строка ниже?
self.programDay = ![dict[GETPROGRAMLISTDATA_PROGRAMEDAY] isEqual:[NSNull null]] ? dict[GETPROGRAMLISTDATA_PROGRAMEDAY] : nil;
Ответ №1:
Что такое NSNull
[NSNull null]
не равно nil
. Это означает пустое значение. Например, @[[NSNull null]].count
равно 1. NSNull
используется в качестве заполнителя в NSArray
и NSDictionary
. Это означает ноль.
На ваш вопрос
Эта строка используется для замены NSNull
на nil .
Комментарии:
1. Я не думаю, что понимаю. Не могли бы вы, пожалуйста, попытаться связать с dict[GETPROGRAMMLISTDATA_PROGRAMEDAY] ? Возможно, это помогло бы мне понять. Спасибо.
2. @SanitLee обновил мой ответ.
Ответ №2:
self.programDay = ![dict[GETPROGRAMLISTDATA_PROGRAMEDAY] isEqual:[NSNull null]] ? dict[GETPROGRAMLISTDATA_PROGRAMEDAY] : nil;
Эта строка означает, что если [dict[GETPROGRAMLISTDATA_PROGRAMEDAY]
имеет пустое значение или значение null, то nil будет присвоен self.programDay
, поскольку будет [dict[GETPROGRAMLISTDATA_PROGRAMEDAY]
присвоено значение self.programDay
. Обычно (нулевое) значение возвращается из веб-сервиса, если это значение не представлено в базе данных на сервере.