objective-c - ".text"和 "setText:"之间的区别?

标签 objective-c nsstring label uilabel

<分区>

Possible Duplicate:
Is there a difference between setting a property with the dot or the bracket syntax?

如果我在 .h 文件中定义了一个标签,而我想在 .m 文件中更改它的文本,使用 label.text = @"..."真的有区别吗[label setText:@"..."]?他们似乎在做完全相同的事情,如果是这样,那为什么要采用不同的方法呢?

最佳答案

内部运作没有区别。第一种方法要求 label 的类型使得编译器可以验证属性的存在;即使编译器不知道确切的类型(即当类型是 id 时),第二种方法也有效。

第二种语法是原来的;为了方便和可读性,添加了第一个语法。关于使用这些语法的主题有不同的思想流派:有些人会告诉您不要使用一种语法或另一种语法,并提供非常有效的理由。不过,最终,这是您的选择:您应该选择一种语法并坚持使用。只要您始终如一并且您的读者知道您的偏好,他们应该可以毫无困难地阅读和维护您的代码。

关于objective-c - ".text"和 "setText:"之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11642735/

相关文章:

ios - 缺少推送通知权利。应用程序签名的权利不包括 "aps-environment"

objective-c - 'application environment'、 'Framework'、 'API' 的定义

python - 如何阻止 Tkinter Frame 缩小以适应其内容?

c# - 禁用控件的文本颜色 - 如何更改它

css - Symfony 表单标签的自定义 CSS 类?

objective-c - 获得前导零的时间

objective-c - 获取正确的 Node Json objective c

ios - 将 NSStrings 转换为 C 字符并从 Objective-C 调用 C 函数

ios - 从 NSURL 转换时 NSString 为空

iphone - 如何知道 iOS 中的 UITextField 是否有空格