所以我@property在头文件中使用了密钥.
如果我这样做,我应该@synthesize在我的实现中使用密钥,对吧?但我不知道,是有实际原因,我必须这样做?我只是想知道为什么写入@property标题只是为了让代码知道我的意图(自动生成get/set方法).
当然,根据我们为什么要合成?我们编写@synthesize以生成get/set方法.但我的问题是为什么不在@property标题中就足够了?我问,因为每当我@property在我的标题中写,我立即去实现并写@synthesize.所以对我来说,使用的唯一原因@synthesize是补充@property关键字.这似乎是多余的,并且让我认为@synthesize如果不是因为它有其他用途就不会存在.那些其他用途是什么?
@synthesize做两件事.它生成getter/setter对,并为属性创建iVar.
在这两件事中,我认为iVar的创造是我使用时@synthesize和不使用时的关键.为没有内部存储为iVar的成员创建属性时,(显然)我不使用@synthesize.
即将推出的自动合成功能不会有太大帮助.我总是用领先的'_'命名我的iVars,所以我仍然需要明确地合成它们.
请参阅@AndrewMadsen链接:它看起来像'_'前缀自动合成将生成iVars.
W00t!毋庸置疑,我现在对自动合成更加兴奋!
| 归档时间: |
|
| 查看次数: |
4890 次 |
| 最近记录: |