Iphone 关于Xcode生成UIApplicationLegate的问题
我正在尝试objective-C和Xcode 4,但有些地方我不明白。 以下代码由Xcode为基于视图的iphone应用程序生成: 在.h文件中:Iphone 关于Xcode生成UIApplicationLegate的问题,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,我正在尝试objective-C和Xcode 4,但有些地方我不明白。 以下代码由Xcode为基于视图的iphone应用程序生成: 在.h文件中: @interface viewexampleAppDelegate : NSObject <UIApplicationDelegate> { } @property (nonatomic, retain) IBOutlet UIWindow *window; @property (nonatomic, retain) IBOutlet v
@interface viewexampleAppDelegate : NSObject <UIApplicationDelegate> {
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet viewexampleViewController *viewController;
@end
因此,问题是:
_窗口和_视图控制器来自哪里?我没有看到它们的任何声明或初始化 Objective-C允许声明属性,而无需显式声明相应的支持实例变量。而是根据需要合成实例变量。在这种情况下,默认情况下,支持实例变量的名称与声明的属性名称相同。因此,假设类没有声明名为
something
的实例变量
@synthesize something;
将隐式创建一个实例变量,也称为something
实例变量的命名也可以与声明的属性不同,例如
@synthesize something = _something;
编译器然后创建一个名为\u something
的备份实例变量,以防一个实例变量不存在
关于初始化,两个属性都是IBOutlets
。这通常意味着它们对应的实例是从nib文件加载的,并且nib文件具有将这些属性连接到实际对象的出口
@synthesize something = _something;