我刚刚在Apple来源中看到了这一点:
@property (readonly, copy) NSString *uppercaseString;
所以要将字符串大写一个
@"sdfks".uppercaseString;
这样做有什么好处,而不仅仅是方法
- (NSString *) uppercaseString;
我很肯定它是一样的,但我真的想知道为什么你会使用readonly变体而不是方法或其他方式。
答案 0 :(得分:2)
您正在使用某种方法。
Objective-C属性归结为可以使用两种替代语法调用的方法(或一组可设置属性的方法) - 点语法
@"sdfks".uppercaseString
和常规方法调用语法
[@"sdfks" uppercaseString]
当您需要访问由其他方法调用生成的对象的属性时,点语法变得更加方便:
person.address.city.uppercaseString
语法的标点符号少于
[[[person address] city] uppercaseString]
因此可能对某些程序员更具视觉吸引力。