我是Objective-C的一个相对新手(只研究了Arron Hillegras的书)并且对我在Apple的一个代码示例中发现的下面的代码片段感到困惑,特别是 - >是什么意思?
-(id) initWithNumbers:(NSArray *)numbers
{
self = [super init];
if (self != nil)
{
self->_numbers = [numbers copy];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
在头文件中_numbers被声明为
NSNumber * _number;
Run Code Online (Sandbox Code Playgroud)
(下划线有一些重要意义,因为我记得在某个地方读过这个内容,但此刻我也没想到.
谢谢罗宾
->是一个普通的C运算符,用于访问指向结构的指针的成员; 该.操作员是用于访问结构成员.从而:
a->b
Run Code Online (Sandbox Code Playgroud)
被翻译成
(*a).b
Run Code Online (Sandbox Code Playgroud)
由于Objective-C对象是指向它下面的结构的指针,因此这适用于访问实例变量.
它通常被称为“箭头”运算符。它允许您访问对象(或对象)的实例变量struct它允许您使用实例的引用或指针来这是 C 和 C++ 的常见语法。
我正在努力寻找一篇不错的文章,但您可能会发现这篇文章内容丰富。
至于下划线 - 通常它们意味着“私有”;根据Cocoa 编码指南 - 命名基础知识:
避免使用下划线字符作为表示私有的前缀,尤其是在方法中。Apple 保留使用此约定。第三方使用可能会导致名称空间冲突;他们可能会无意中用自己的方法覆盖现有的私有方法,从而带来灾难性的后果。
| 归档时间: |
|
| 查看次数: |
337 次 |
| 最近记录: |