Чтобы просто получить доступ к iVar в одном классе из другого, свойство - это именно то, что вам нужно.
Синтаксис: в вашем .h
@interface myclass : NSObject {
UIWindow *window;
}
@property (nonatomic, retain) UIWindow *window;
@end
в вашем .m
@implementation myclass
@synthesize window;
...
@end
Директива @synthesize
дает указание компилятору создавать множество шаблоновкод (как указано спецификаторами (nonatomic, retain
). В этом случае для обеспечения безопасности потоков и управления памятью.
Также обратите внимание, что в Objective-C 2.0 объявление iVar UIWindow *window;
не требуется.
Если вы хотите получать уведомления во втором классе об обновлении iVar, вам нужно взглянуть на значение ключа, наблюдающее . Если вы не пишете каркас или какой-то очень динамичный код, это, вероятно,излишество.