之间有什么区别
@property (nonatomic, retain) NSString *subject, *name, *kind;
和
@property (nonatomic, retain) NSString *subject;
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *kind;
我认为功能完全相同,但第一个只能节省您输入和一些代码行。我不确定这是我要问的原因:)。
答案 0 :(得分:2)
@property (nonatomic, retain) NSString *valtOnder, *name, *soort;
和
@property (nonatomic, retain) NSString *valtOnder;
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *soort;
两种方式都是一样的。
但我后来更喜欢。原因??
如果您有任何拼写错误或任何错误,编译器将指向具有该属性/变量名称的行。
如果我写了几十个属性和/或变量,那么我必须查找它们中的每一个,哪一个是导致错误的根本原因....因为我使用了@synthesize很长一段时间,所以很难找到。
所以我总是建议并指导其他人对变量,属性,合成等进行一行声明。
我很懒。很少有人想为什么要多次写同样的东西?额外的时间和工作。
但是多行会更具可读性。您只需编码一次就可以读取数百次,因此只需几秒钟即可输入一些额外的关键字。并且感谢所有为您提供自动完成功能的IDE,所以现在这个理由已经过时了。
编辑:
根据vikingosegundo评论,
您永远不应将retain
用于NSString,请使用copy
。
对于不可变对象,copy
不应使用retain
。