Синтаксис точки (SomeClass.classMethod
) - это просто синтаксический сахар для отправки сообщения ([SomeClass classMethod]
). Они делают равные вещи.
Вы не видите дополнения для свойств (точечный синтаксис), вероятно, потому что объект, к которому вы пытаетесь получить доступ к свойству, неправильно приведен к типу, имеющему это свойство:
[UIApplication sharedApplication].delegate.myproperty // <-- No completion
[[UIApplication sharedApplication].delegate myproperty] // <-- Completion
Это происходит потому, что delegate
является id
и поэтому не имеет свойств (это объект универсального типа), поэтому автозаполнение ничего не может предложить. Последний отправляет сообщение объекту универсального типа, поэтому компилятор может предложить вам отправить много сообщений (независимо от того, поддерживает ли их этот объект).