还应该使用@synthesize吗?

ngo*_*oue 5 objective-c

我只是想知道@synthesize是否应该仍然使用,即使Xcode自动为属性,它只是因为它已经这样做了这么长时间?或者这是否意味着我们都可以停止使用@synthesize(除非你有理由给它的实例变量一个不同的名字)?

我只想确保从专业的角度来看,我符合良好的编码习惯.

Stu*_*ner 9

除非有要求,否则我个人不再使用合成进行新开发 (参见下面的lnafziger评论).原因是因为我目前正在为iOS 6开发,它需要新版本的Xcode,它具有自动包含编译时的能力.如果我使用旧代码执行此操作,我的组织中可能仍有人使用旧版本的Xcode(即版本4.2),这会导致问题.@synthesize

因此,根据您是否仍需要与旧版本的Xcode兼容,这个答案会有所不同.但是,如果您只需要使用新版本的Xcode,那么您应该没有声明@synthesize.

  • 我大多同意这个(所以+1)但是,在某些情况下你仍然需要使用@synthesize并且没有选择(即当你覆盖声明属性的setter和getter时).所以我会改变措辞,说"除非需要,否则不再使用它"...... (2认同)