Appleのフレームワークのヘッダーファイルで、クラスインターフェイス内にプレフィックスunderscopeを持つApplenameインスタンス変数が見つかりました。以下の_delegateインスタンスのように:
@interface ClassName : NSObject {
id _delegate;
}
@end
しかし、独自のインスタンス変数を定義するときにこの命名規則に従うと、副作用はありますか?私はかなり長い間、この質問の答えを探してきました。
アップルのコードガイドラインでは、アップルはメソッド名がアンダースコアで始まることを予約していると述べており、インスタンス変数の命名の問題に関する制限については言及していません。
私の同僚は、インスタンス変数をアンダースコアで始めると、選択した名前がフレームワークのプライベートヘッダーファイルに存在する場合、フレームワークと衝突する可能性があると述べました。これは可能ですか、それともアップルがすでに使用している可能性があるため、アンダースコアで始まる名前を使用しない理由になりますか?