objective-c属性名称:使用大写字符作为属性名称的第一个字符

时间:2016-10-23 06:03:42

标签: ios objective-c cocoa syntax

似乎Objective-c中的属性名必须以小写字母开头,因为setter是用驼峰字母编写的。

是否有任何方法可以定义一个以大写字母开头的属性(有一个setter方法)?

2 个答案:

答案 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,所以你有麻烦。