2010-11-30 12 views
0

私は、_(アンダースコア)は、変数/メソッド/クラスがAPI専用であることを伝えるためにのみ使用され、他のプログラマーは使用しないでください。Objective-Cの "_"と "__"の違いは何ですか?

__(二重のアンダースコア)はどうですか?この例では

__block BOOL found = NO;

ブロックがオブジェクトについてアップルのドキュメントから。

また、誰でも私にのポインターへのポインタの概念を理解するのに役立つことができますか? **var 私はそれについていくつかの答えを読んだが、実際にはそれを得ていませんでした。いつ、どのように使うべきですか?

答えて

5

単一のアンダースコアは、伝統的にプライベートAPI(メソッドおよび時にはivars)に使用されます。主な目的は名前の衝突を防ぐことです。

__blockは、新しいブロックAPIのキーワードです。一般に、ダブルアンダースコアキーワードはコンパイラ用です。

NSErrorポインタのポインタについては、新しいNSErrorオブジェクトをそのパラメータの一部(返り値ではない)として返すようにするには、タイプNSError *の変数へのポインタが必要です。それを割り当てることができます。単純なポインタでは、オブジェクトにしかアクセスできませんでしたが、(再)割り当てはできません。

+0

本当に助かりました。ありがとう! –

関連する問題