我对为什么有些类声明属性但不声明 ivar 感到困惑,反之亦然。
在声明实例变量时也将其声明为属性是否是标准做法?
例子:
@interface AppDelegate : NSObject <UIApplicationDelegate>
{
UIWindow *window;
UINavigationController *navigationController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
在声明一个类的 ivar 以使其成为属性时,这只是标准做法吗?
我知道@property 创建了自己的细长设置器(和@synethesize 的getter),但为什么它也需要是一个ivar?