【问题标题】:What exactly does the .(dot) operator do in Objective-C [duplicate].(dot) 运算符在 Objective-C 中到底做了什么 [重复]
【发布时间】:2013-06-23 22:20:13
【问题描述】:

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

【问题讨论】:

    标签: c++ objective-c c pointers dot-operator


    【解决方案1】:

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

    例子

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

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

    label.text = @"Ashok";
    

    和as所说的空间可以通过set方法单独合成来使用

    [label setText:@"Ashok"];
    

    比Q

    【讨论】:

    • “空格符号”?那是一个新的。它通常被称为“括号调用”或“括号表示法”,但我也有点挖掘“空格表示法”。
    • 或者你可以说 obj-c style 表示“空格符号”,c-style 表示“dot notation”
    • ThnQ Anoop 但我的澄清也是正确的
    • 现在你的答案不正确,如果我阅读了你的第一个评论代码....... 甚至适用于两者。
    • 是的,你是对的 Anoop thnQ
    猜你喜欢
    • 2017-12-20
    • 2013-09-15
    • 1970-01-01
    • 2015-03-28
    • 2015-08-18
    • 2020-08-26
    • 2016-02-14
    • 1970-01-01
    • 2019-09-05
    相关资源
    最近更新 更多