为什么大写的属性名称没有在Objective-C / UITouch中出错?
发布时间:2020-12-16 09:43:12 所属栏目:百科 来源:网络整理
导读:resultLabel是一个UILabel.那么为什么呢 resultLabel.Text= @""; 不给出错误?它应该是resultLabel.text. 感谢您的任何见解. 解决方法 属性foo的默认setter函数是setFoo:,首字母大写.因此两条线 resultLabel.text = @"";resultLabel.Text = @""; 生成相同的
resultLabel是一个UILabel.那么为什么呢
resultLabel.Text= @""; 不给出错误?它应该是resultLabel.text. 感谢您的任何见解. 解决方法
属性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:' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |