在Xcode,你创建一个UIViewController子类后,在viewDidUnload方法,是Xcode中添加评论:self.foo = nil和[self setFoo:nil]有什么区别?
- (void)viewDidUnload {
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
这里,Xcode的建议我们使用self.myOutlet =零释放的对象。
但是在xcode4中,有一个很酷的功能:只需将Interface Builder插口拖到它的所有者的头文件,然后xcode就会自动在viewDidUnload方法中创建IBOutlet对象和相关的发布代码。
的问题是在上述情况下,它产生的代码是这样的:
- (void)viewDidUnload {
[super viewDidUnload];
[self setFoo:nil];
}
予提及的是,“self.foo =零;”由“[self setFoo:nil];”替换。
有人知道区别吗?如果没有区别,为什么xcode4会改变它?
谢谢。
感谢您的答复。该问题导致我的代码风格丑陋。一些代码行使用self.foo = nil,其他IDE生成的代码使用[self setFoo:nil];如何解决这个问题呢? – tangqiaoboy 2012-03-02 09:32:10
您只需手动或通过编写脚本自行修复它们。 – 2012-03-02 18:14:31