2009-04-13 61 views
0

比方说,我有这样的接口:推荐的编码风格在Objective-C设置属性值

// .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

这是一个风格问题。

Dot语法在Objective C中的很多地方都适用,虽然它只被认为是可以接受的getter和setter。

1

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

1

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