Xcode4 - Объявление объекта в заголовочном файле - PullRequest
2 голосов
/ 06 августа 2011

Например, я объявляю объект внутри фигурной скобки {} как:

@interface testViewController : UIViewController {
    IBOutlet UILabel * myLabel;
}
@property (retain, nonatomic) UILabel *myLabel;

@end

и во втором примере я объявляю объект за пределами фигурной скобки {} как:

@interface testViewController : UIViewController {
}
@property (retain, nonatomic) IBOutlet UILabel *myLabel;

@end

Я запускаю код, и результат тот же, поэтому я хочу спросить, что отличает decalare от объекта внутри или снаружи интерфейсной скобки {}?

Спасибо

Ответы [ 2 ]

1 голос
/ 06 августа 2011

Современные среды выполнения Objective C (64-битные Mac OS X и iOS) будут создавать резервное хранилище для ваших объявленных свойств, когда вы @synthesize их. Так что вам не нужно объявлять их в скобках.

Если вы объявляете iVar, который не является свойством и будет использоваться только классом, их необходимо объявить. Это хорошая идея пометить эти @private например

@interface MyClass : NSObject {
@private
    NSString *privateString;
}
@property (nonatomic, copy) NSString *publicString; // be sure to @synthesize this
@end
0 голосов
/ 06 августа 2011

Во втором примере вы объявляете только свойство. Xcode объявит объект автоматически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...