【发布时间】:2012-06-14 13:10:49
【问题描述】:
我对 ObjC 还是很陌生。我注意到在任何地方都可以很标准地创建您的
@interface myObj : NSObject {
id delegate;
NSDictionary *dict;
}
然后
@property (nonatomic,retain) NSDictionary *dict;
@property (retain) id delegate;
——例如。我知道 @property 的自动代码生成 + 更清晰的定义是多么有用,这要归功于 Apple 的 Declared Properties 页面。然而,我不明白的是,为什么人们同时做这两个是标准的 - 声明他们的属性,然后将它们再次放在{花括号}中。
我的意思是,如果我有一个类,其中我希望一些变量具有自动 getter/setter 而一些不具有,那么我会理解为我的常规变量设置 {} 块,然后只创建 @property/@仅针对我想要添加的功能的那些特定变量综合语句;但是,为什么在您知道希望所有实例变量都具有 getter 和 setter 的情况下始终同时拥有这两种方法是标准的呢?我想我要跳闸了,因为我基本上 100% 都看到它像这样使用,而我觉得它真的没有必要......只需声明 @properties 并保留它。
想法?最佳编码实践建议?还是我在这里遗漏了一些信息?
【问题讨论】:
-
我将 IBOutlet 排除在括号之外,以此来组织我对班级真正拥有的东西的想法。但这只是我。
标签: objective-c automatic-properties