#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, оно вообще не используется и фактически ни к чему не приводит.