для экземпляра MyObject, есть ли разница междуМетоды проверки действительного объекта в Objective C?
, если (MyObject == ноль)
и
, если (MyObject)
Мои Предположим, что если myObject не был выделен и инициализирован, он будет равен нулю, а два синонима.
ОБНОВЛЕНИЕ: Извините, я неправильно сформулировал свой вопрос, но, думаю, вы ответили, что я действительно спрашиваю. Позвольте пояснить:
У меня есть два стола, каждый из которых имеет свой собственный viewController, tblVC1
и tblVC2
. Для пользователя нажмите на строку таблицы, viewController настроит поксор contentViewController, contentVC
, который имеет свойства tblVC1 и tblVC2. Поэтому, если кран пользователя обрабатывается tblVC1
, он устанавливает contentVC.tblVC1 = self
, а свойство tblVC2
не инициализируется.
Когда мне нужно перезвонить запускающий ViewController я проверял, для которых ViewController назвать так:
if (tblVC1) {
[tlbVC1 callTheMethod];
} else {
[tlbVC2 callTheMethod];
}
Так что я должен был спросить: есть
if (tblVC1)
такие же, как
if (tblVC1 != nil)
?
Спасибо за ваш ответ, это помогло мне понять, о чем я действительно спрашиваю. Я обновил свой пост, чтобы уточнить мой вопрос. – seeker12
Да, если (tblVC1) оценивает в этом случае так же, как если бы (tblVC1! = Nil). Кстати, отправка сообщения NULL в objc-c обнаруживается средой выполнения и не будет делать ничего плохого (хотя вы должны всегда проверять указатели!). Вы также можете проверить, указывает ли tlbVC2 на что-то, просто чтобы убедиться, что операция распределения не сработала. – JustSid
Спасибо за возвращение. Отличный ответ (хотя я не знаю, что вы имеете в виду, всегда проверяя указатели). – seeker12