質問

AppleがiPhone SDKでプライベートAPIを使用して開発者を望んでいない場合、C#の「内部」キーワードに相当する任意のクラスやメソッドをマークするようなことをしないのはなぜですか? APIが複数のバイナリに広がっている場合、Appleはそれらを専用のプライベートバイナリにリファクタリングして、これを容易にすることができます。

役に立ちましたか?

解決

Objective-Cには、C#の「内部」またはJavaの「最終」キーワードに相当するものはありません。言語の動的な性質に関係していると思います。このような機能は、とにかく簡単に回避できます。

また、iPhone SDKについては、すべてのライブラリをAplicationに静的にコンパイルする必要があり、動的リンクは許可されていません。したがって、「内部」として関数を設定しても、たとえ可能であっても、可視性に違いはありません。

他のヒント

簡単な答え、彼らはまったく説明していないので、彼らはプライベートとしてマークしません。

送信することになっていないメッセージは、SDKの対応する.hファイルに表示されません。

プライベートAPIは、通常、ヘッダーを読み取るのではなく、バイナリフレームワークに対してクラスダンプなどのツールを使用する人々によって発見されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top