При использовании IB в сочетании с представлением помощника вы перетаскиваете элемент управления в IB в файл .h и создаете выход.Вы можете перетащить его в одно из двух мест, либо внутри блока объявления переменной, либо вне блока.
Если вы перетащите его внутрь блока переменной, вы получите что-то вроде этого:
@interface MyViewController : UIViewController {
IBOutlet UIButton *foo;
}
перетаскивание его за пределы блока дает вам что-то вроде ...
@interface ViewController : UIViewController {
}
@property (retain, nonatomic) IBOutlet UIButton *foo;
Я думал о том, как они отличаются, и я немного запутался.Хорошо, я понимаю, что синтезированные свойства делают некоторую магию и создают переменные экземпляра во время выполнения (только на 64-битной / ARM).Поэтому я считаю, что понимаю, как работают 2 варианта.
Какой вариант лучше?Первый вариант генерирует меньше кода и выглядит проще.
Вторая версия предлагает публичные средства доступа / мутаторы, но я редко обращаюсь к выходам за пределами моего класса (и если я это делаю, это почти всегда с инкапсуляцией).С тех пор, как я начал работать с iOS, я использовал эту опцию исключительно.
Я что-то упустил или в большинстве случаев я должен переключиться на розетки с переменными значениями?