究竟是什么.Objective-C中的(点)运算符do
What exactly does the .(dot) operator do in Objective-C
我自学了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
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 为什么比较运算符如此快速
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 使用C++中的模板和运算符重载执行矩阵运算
- 为什么这个运算符<重载函数对 STL 算法不可见?
- 增量运算符与后缀混淆
- 一个关于在C++中重载布尔运算符的问题
- 运算符C++ "delete []"仅删除 2 个前值
- 模板类无法识别友元运算符
- 我可以使用条件运算符初始化C风格的字符串文字吗
- 关闭||运算符优化
- 通过继承类使用来自不同命名空间的运算符
- C++Cast运算符过载
- 如何使用AngelScript注册SFML Vector2运算符
- 重载元组索引运算符-C++
- "Do nothing"在三元运算符的其他部分?
- 包装在 do-while-0 中与包装在带有 (void)0 的三元运算符中
- Do all运算符重载将运算符放在将调用重载的对象之后
- 究竟是什么.Objective-C中的(点)运算符do
- 当do额外的括号有影响时,除了运算符优先级