用于在Objective-C中设置属性值的推荐编码样式

时间:2009-04-13 16:07:09

标签: objective-c coding-style

假设我有这个界面:

// .h
@interface DataObject : NSObject {
    NSString* value;
}

@property (retain) NSString* value;

@end

// .m

@implementation DataObject

@synthetize value

@end

据我了解,以下两个片段是相同的:

DataObject *o = [[[DataObject alloc] init] autorelease];
[o setValue: @"Hello"];

DataObject *o = [[[DataObject alloc] init] autorelease];
o.value = @"Hello";

我说错了吗?如果是的话,我应该更喜欢一个吗?或者它只是一种风格偏好?

谢谢。

4 个答案:

答案 0 :(得分:4)

这是一种风格问题。

Dot语法在整个Objective C中的许多地方都有效,尽管它只被认为对于getter和setter来说是“可接受的”。

答案 1 :(得分:1)

我认为点符号比调用set方法更可取。我认为代码更具可读性,并且点符号更清楚地表明您正在设置属性,而不是仅仅在类上调用方法。

答案 2 :(得分:1)

点符号只是语法糖,所以两者是相同的。

答案 3 :(得分:0)

2009年8月,博客圈中出现了关于使用点语法的骚动。