似乎Objective-c中的属性名必须以小写字母开头,因为setter是用驼峰字母编写的。
是否有任何方法可以定义一个以大写字母开头的属性(有一个setter方法)?
答案 0 :(得分:2)
@import Foundation;
@interface M : NSObject
@property (nonatomic, strong) NSString *Uppercase;
@end
@implementation M
@end
int main(int argc, char **argv)
{
M *m = [M new];
m.Uppercase = @"I hate conventions.";
NSLog(@"%@", m.Uppercase);
return 0;
}
以上给出了以下输出:
➜ test ./a.out
2016-10-23 09:58:21.291 a.out[52998:1646241] I hate conventions.
从代码中可以看出,setter和getter的使用方式与其他任何属性相同。
答案 1 :(得分:2)
首先:不要这样做。
第二:它主要起作用。但是,如果你有一个属性"大写"和一个属性"大写",他们都想创建一个名为" setUppercase"的setter,所以你有麻烦。