0

我自学了 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 的严格超集。

4

1 回答 1

1

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

例子

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

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

label.text = @"Ashok";

并且因为所述空间可以通过使用set方法单独合成来使用

[label setText:@"Ashok"];

谭Q

于 2013-06-26T16:45:41.027 回答