resultLabel
是UILabel
。那么为什么呢?
resultLabel.Text= @"";
没有出错?它应该是resultLabel.text
。
感谢您的任何见解。
答案 0 :(得分:7)
属性foo
的默认setter函数为setFoo:
,首字母大写。因此两行
resultLabel.text = @"";
resultLabel.Text = @"";
生成相同的代码
[resultLabel setText:@""];
这仅适用于setter函数,而不适用于getter:
NSString *x = self.text; // --> x = [self text]
NSString *x = self.Text; // --> x = [self Text]
因此,您不能拥有两个只在第一个字母的情况下不同的读写属性,这将生成编译器错误:
@property (nonatomic, strong) NSString *text;
@property (nonatomic, strong) NSString *Text;
self.text = @"foo";
// error: synthesized properties 'text' and 'Text' both claim setter 'setText:'