繁体   English   中英

关于iOS6 +中的@synthesize

[英]Regarding @synthesize in iOS6+

例如:

//Myclass.h
@property(nonatomic, strong) NSString *name;

//MyClass.m
//@synthesize name = _name

所以我知道我们不再需要在iOS6 +中使用@synthesize 编译器会自动为我创建getter和setter。

  1. 但是我不明白是什么时候使用self.name = @"Testing"以及什么时候使用_name = @"Testing"

  2. 应该使用_name = @"Testing"吗?

  3. 如果是,什么时候? 什么时候应该使用iVAR?

  4. 另外,如果我想编写自己的getter和setter,我是否需要写@synthesize还是可以只编写我的getter和setter?

谢谢你的帮助!

通常,只在init方法,getter和setter以及dealloc中使用实例变量。 当然也有例外,但这是一个很好的经验法则。

如果您既编写自己的getter setter(或者在编写只读属性的情况下编写getter),则必须自己合成属性。 在所有其他情况下,该属性是自动合成的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM