Считается ли это свойством?

#objective-c #cocoa-touch #properties

#objective-c #cocoa-touch #свойства

Вопрос:

Я только что перешел в Objective C.

Когда я создаю кнопку и подключаю ее к своему коду, я получаю следующую строку кода в разделе моих свойств:

 IBOutlet UIButton *btn;
  

Я узнал, что синтаксис свойства является [class] *[variable name] .

Что IBOutlet в этом случае?

Ответ №1:

Нет. IBOutlet — это просто макрос, который ни к чему не приводит.

Их цель — просто сообщить Разработчику интерфейса, что ваши переменные (в вашем случае UIButton * btn) могут использоваться для привязки элементов пользовательского интерфейса к вашему коду в Xcode.

Ответ №2:

Это не свойство. Это всего лишь объявление переменной. Версия этого свойства будет

 @property (nonatomic, retain) IBOutlet UIButton *btn;
  

И затем в вашем файле реализации вы бы разместили

 @synthesize btn
  

чуть ниже @implmentation строки.

Ответ №3:

Вы когда-нибудь использовали Interface Builder? IBOutlet — это макрос, который позволяет вам ссылаться на представления в Interface Builder из вашего кода. В вашем случае это позволяет вам подключить UIButton к interface builder, чтобы вы могли использовать ссылку на него из своего кода. Помимо того, что оно используется для того, чтобы позволить interface builder, которую вы хотите подключить к переменной view, подключать переменную к view, оно вообще не используется и фактически ни к чему не приводит.