在目标c的官方谷歌风格指南中,它提到了
Dot notation是Objective-C 2.0的惯用风格。它可以在执行简单操作来获取和设置对象的@property时使用,但不应该用于调用其他对象行为。
以下是获取/设置属性的首选方法,而不是使用括号:
NSString *oldName = myObject.name;
myObject.name = @"Alice";
以下是做同样的非首选方式:
NSArray *array = [[NSArray arrayWithObject:@"hello"] retain];
NSUInteger numberOfItems = array.count; // not a property
array.release; // not a property
但是,根据样式指南,count不是属性,因此应使用括号表示法。但是,伯爵真的是一个财产。请问有人可以参加吗?
答案 0 :(得分:2)
如果您参考NSArray
的文档,您会发现count绝对属于
听起来风格指南只是出错了。如你所说,点符号是属性访问者的首选 - 但对于getter来说更是如此。 array.count
是正确的。
然而,由于在其他语言中,count通常不作为属性存储,因此确实有错误,并且您需要调用方法来检索计数。 NSArray
很特别:)