Objective-C中“_”和“__”之间有什么区别?

时间:2010-11-30 12:17:53

标签: objective-c cocoa-touch cocoa syntax

我读过_(下划线)仅用于表示变量/ method / class仅供API使用,不应由其他程序员使用。

__(双下划线)怎么样?

在此示例__block BOOL found = NO;

来自Apple Docs关于阻止对象

此外,任何人都可以帮助我理解指针指向的概念吗? **var 我已经阅读了一些关于它的答案,但并没有真正得到它。何时以及如何使用它?

1 个答案:

答案 0 :(得分:5)

单下划线传统上用于私有API(方法,有时是ivars)。它们的主要目的是防止名称冲突。

__block是新块API的关键字。通常,双下划线关键字用于编译器。

对于指针的指针,NSError是一个很好的例子:当一个方法想要返回一个新的NSError对象作为其参数的一部分(不是返回值)时,你需要一个指向变量的指针类型NSError *,以便您可以分配它。使用简单的指针,您只能访问该对象,但不能(重新)分配它。