iphone - 在 Objective-C 中,我们如何称呼 "[ob method]"语法?

标签 iphone objective-c ios xcode ipad

在 Objective-C 中,我看到我们可以使用点运算符来设置和获取一个值,对于相同的任务,我在方括号方法调用中看到了类似“[ob 方法]”的内容,我们对这种语法的调用是什么?

最佳答案

括号符号:闲聊语言的主要内容,现在是 ObjC 语言的可爱外观。

括号是 SmallTalk 的表达方式,“你在那儿,接受这个消息并用它做点什么”,这就是它们在 Objective C 中的实现方式。我们向第一部分 [Object] 发送一条消息,并在第二部分中声明该消息[对象消息];

当然,它们也具有类似的功能。大多数语言中的属性都是用点表示法 (Object.property) 编写的,但是使用 Objective-C 和现代运行时对非 ivar 支持的属性的支持以及 @synthesize 指令,属性会自动生成名称相同的 getter。听起来很复杂?它不是。如果我有属性示例,那么我可以通过以下两种方式之一访问它:

self.example; 

或者
[self example];

简单的!

但@synthesize 指令并不止于此。我们得到了一个 getter 和一个 setter。可以通过与 getter 相同的方式访问 setter。
self.example = foo;

相当于
[self setExample:foo];

括号表示法实际上非常重要,以至于编译器在编译时将大多数点表示法优化为括号表示法。

关于iphone - 在 Objective-C 中,我们如何称呼 "[ob method]"语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11239832/

相关文章:

iphone - 对 NSArray 的 XML 响应

ios - PayUMoney 支付网关问题

带有 2 个输入字段的 iOS 搜索栏(例如要搜索的名称和要搜索的位置的第二行)

objective-c - 是否可以控制 Yosemite 中半透明/模糊背景的活力?

ios - 如何禁用在 iOS objective-c 中以编程方式创建的 UIButton

objective-c - Cocoa 2D 图形 : Quartz, 核心图像或核心动画?

ios - iPhone 艾比 OCR

ios - 在没有释放的情况下弹出 viewController

iphone - cocoa setAnimationDidStopSelector

iPhone 应用程序大小