我最近切换到了Xcode 4,但对于这种新的写访问器的方式并不是很理解。例如,在创建新项目时自动生成的应用程序委托类中,window
对象没有在 @interface
中声明,而是以这种方式:
@property (nonatomic, retain) IBOutlet UIWindow *window;
然后,在实现文件中,我们有@synthesize window=_window;
。
在函数中,我们要么使用self.window
,要么使用_window
。
例如:
[self.window makeKeyAndVisible]; // in didFinishLaunchingWithOptions function
[_window release]; // in dealloc function
你能为我解释一下,为什么在
@interface
中没有任何内容,为什么我们要使用 @synthesize window=_window;
而不是 @synthesize window;
,以及 self.window
和 _window
之间的区别是什么?我的意思是,我什么时候需要调用其中一个而不是另一个?我有点迷失了,并且感觉我正在尝试做同样的新代码并不能正常工作...
谢谢!
@synthesize window=_window;
。只是需要一些更新来让我的思路更加清晰,你们帮了我很大的忙。感谢@puzzle提供的额外信息! - Dachmt