Я прохожу через некоторые пошаговые руководства fpr Objective-C, и я добрался до многих мест, где я поднял брови. Я бы с удовольствием их убрал.
-
Есть ли принципиальная разница в отправке сообщений и вызове метода? Objective-C позволяет мне делать оба:
object.message
дает тот же результат, что и[object message]
. Я думаю, возможно, что вложенные сообщения не могут быть созданы с использованием стратегии оператор-точка? -
Я создал объект
NSArray
, теперь я собираюсь распечатать результаты для этого, используяNSEnumerator
:id myObject = [object objectEnumerator];
при повторении и печати результатов цикла while. Тип
myObject
-id
, что означает, что он разрешен во время выполнения, а не во время компиляции. Я очень четко знаю, какие объекты хранятся в моемNSArray
-theyNSString
s-so, изменив типmyObject
наNSString * myObject
, он работает отлично. Тем не менее, я экспериментировал и обнаружил, чтоmyObject
может быть любого типа, будь тоNSString
илиNSArray
илиNSEnumerator
, и любая из них работает просто отлично, отлично повторяя объектNSArray
и получая тот же Результаты. Что с этим?