В чем разница между IBOutlet как свойством или переменной? - PullRequest
3 голосов
/ 13 июля 2011

Существует два разных способа объявления IBOutlet.

  1. В секции @interface как переменная:

    IBOutlet UIButton *exampleButton;
    
  2. Под скобкой кривой, но перед @end файла .h как свойство:

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

В чем разница между этими двумя методами и где я должен использовать каждый из них? Какой метод лучше и в каких случаях?

Ответы [ 2 ]

3 голосов
/ 13 июля 2011

Либо один работает нормально по моему опытуЧто не работает, так это объявление переменной экземпляра и свойства "IBOutlet" - это, кажется, действительно запутывает вещи.Если по какой-либо причине вы хотите избежать предоставления публичного доступа к вашей торговой точке, вы можете объявить ее как переменную экземпляра и просто не создавать свойство.С другой стороны, теперь, когда среда выполнения будет синтезировать переменные экземпляра для вас, многие люди объявляют только свойства и пропускают явное объявление переменной экземпляра;в этом случае вы явно объявите свойство как IBOutlet.

0 голосов
/ 13 июля 2011

@property в сочетании с @synthesize настраивают методы получения и установки для ваших объектов.Вы должны определить его, по крайней мере, в интерфейсе, и если вы решите создать из него свойство, вы также должны синтезировать его .m файл.

...