[英]Regarding @synthesize in iOS6+
例如:
//Myclass.h
@property(nonatomic, strong) NSString *name;
//MyClass.m
//@synthesize name = _name
所以我知道我们不再需要在iOS6 +中使用@synthesize
。 编译器会自动为我创建getter和setter。
但是我不明白是什么时候使用self.name = @"Testing"
以及什么时候使用_name = @"Testing"
?
应该使用_name = @"Testing"
吗?
如果是,什么时候? 什么时候应该使用iVAR?
另外,如果我想编写自己的getter和setter,我是否需要写@synthesize
还是可以只编写我的getter和setter?
谢谢你的帮助!
通常,只在init方法,getter和setter以及dealloc中使用实例变量。 当然也有例外,但这是一个很好的经验法则。
如果您既编写自己的getter 和 setter(或者在编写只读属性的情况下编写getter),则必须自己合成属性。 在所有其他情况下,该属性是自动合成的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.