Mic*_*ers 3 properties objective-c capitalization
resultLabel是一个UILabel.那么为什么呢
resultLabel.Text= @"";
Run Code Online (Sandbox Code Playgroud)
不给出错误?它应该是resultLabel.text.
感谢您的任何见解.
属性的默认setter函数foo是setFoo:,首字母大写.因此两条线
resultLabel.text = @"";
resultLabel.Text = @"";
Run Code Online (Sandbox Code Playgroud)
生成相同的代码
[resultLabel setText:@""];
Run Code Online (Sandbox Code Playgroud)
这仅适用于setter函数,而不适用于getter:
NSString *x = self.text; // --> x = [self text]
NSString *x = self.Text; // --> x = [self Text]
Run Code Online (Sandbox Code Playgroud)
因此,您不能拥有两个只在第一个字母的情况下不同的读写属性,这将生成编译器错误:
@property (nonatomic, strong) NSString *text;
@property (nonatomic, strong) NSString *Text;
self.text = @"foo";
// error: synthesized properties 'text' and 'Text' both claim setter 'setText:'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
238 次 |
| 最近记录: |