在 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/