我是Objective-C的一个相对新手(只研究了Arron Hillegras的书),并且对我在Apple的一个代码示例中发现的以下代码信息感到困惑,特别是 – >意思?
-(id) initWithNumbers:(NSArray *)numbers { self = [super init]; if (self != nil) { self->_numbers = [numbers copy]; } return self; }
在头文件中_numbers被声明为
NSNumber * _number;
(下划线有一些重要意义,因为我记得在某个地方读过这个内容,但目前我也没想到.
谢谢
知更鸟
解决方法
– >是一个普通的C运算符,用于访问指向结构的指针的成员;这个. operator用于访问结构的成员.从而:
a->b
被翻译成
(*a).b
由于Objective-C对象是指向它下面的结构的指针,因此这适用于访问实例变量.