Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 关于Xcode生成UIApplicationLegate的问题_Iphone_Objective C_Cocoa Touch - Fatal编程技术网

Iphone 关于Xcode生成UIApplicationLegate的问题

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

我正在尝试objective-C和Xcode 4,但有些地方我不明白。 以下代码由Xcode为基于视图的iphone应用程序生成:

在.h文件中:

@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;