【发布时间】:2011-11-07 02:12:11
【问题描述】:
我来自 C# 开发,刚刚开始学习 Objective-C 和 Xcode 4。 据我了解,如果您不需要检查/控制正在读取或写入的值,“@synthesize”正在替换属性的 getter/setter 方法。
但是为什么 Xcode 4 会自动为我创建一个实例变量呢?
这还不够吗:
@synthesize myProperty;
代替:
@synthesize myProperty = _myProperty;
?
如果我没有/不需要任何 getter 或 setter,我为什么要使用/拥有实例变量而不是实际属性?
提前致谢!
孟菲斯
编辑:
我知道@synthesize 正在替换 getter/setter,但这部分有什么好处:= _myProperty;?
如果我可以直接使用“myProperty”,为什么还要有一个实例变量?如果设置器例如检查值的条件,我会理解使用“_myProperty”。如果我想跳过这个检查,我会使用 _myProperty。但是当我使用@synthesize 时,我没有一个设置器来做一些检查。那么为什么我有/想要一个实例变量呢?
回答:
查看 MattyG 帖子中的 cmets!
【问题讨论】:
-
@synthesize 会自动为你创建 getter 和 setter。你在类而不是实例变量上调用它。
-
是的,但为什么我要在 .m 文件本身的方法中使用 _myProperty 而不是 myProperty?
-
我不确定 _myProperty 是什么。这是一个 myProperty 对象的实例吗?如果您要在自己的方法中使用实例本身,请使用
self。我不是很理解我猜的问题。对不起。
标签: objective-c ios xcode4 properties synthesize