1

和有什么区别

@property (nonatomic, retain) NSString *subject, *name, *kind;

@property (nonatomic, retain) NSString *subject;
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *kind;

我认为功能完全相同,但第一个功能只会节省您的打字和一些代码行。我不确定这就是我问的原因:)

4

1 回答 1

1
@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 的评论,

你永远不应该使用retainNSString,使用copy.

对于不可变对象copy不应该使用retain

于 2013-01-22T09:19:01.840 回答