究竟是什么.Objective-C中的(点)运算符do

What exactly does the .(dot) operator do in Objective-C

本文关键字:运算符 do 是什么 Objective-C 中的 究竟      更新时间:2023-10-16

我自学了C和C++,现在正在尝试学习Objective-C,但我对类实例中使用的点运算符有点困惑。假设我申报了一个类别:

MyClass* myinstance = [[MyClass alloc] init];
//Then I call the member function foo:
myinstance.foo;

显然,这在Objective-C中有效,但在C++或C(在结构的情况下)中则不然。您必须使用运算符->。所以我正在寻找一个确切的解释。(dot)运算符在Objective-C中的作用,以及ObjC和C的两个不同含义如何不会导致C和Objective-C之间的兼容性问题,即使Objective-C是C的严格超集。

点表示法是通过使用空格来调用方法。我们可以通过将空间与所有变量一起使用来调用方法,但点表示法与属性一起使用,并且只合成变量

示例

 variable.method_name; //is a dot notation with property and synthesized variable
[variable method_name]; // is space notation

点表示法适用于所有默认属性,因为这些属性已经是属性并像一样合成

label.text = @"Ashok";

并且由于所述空间可以通过使用设置方法作为单独合成来使用

[label setText:@"Ashok"];

ThanQ