obj c には厳密なプライベート メソッドがありません。これは、obj c 内のオブジェクトの特定のメソッドを呼び出すことによって、実際にオブジェクトにメッセージが送信され、オブジェクトはそのメッセージを処理できるかどうかを確認します。処理できる場合、対応するメソッドが呼び出されて実装されます。処理できない場合、これは完全に実行時アクションです。したがって、メソッドがヘッダー ファイルで宣言されていない場合でも、実行時に呼び出すことができます。これは、ヘッダー ファイルでメソッドを宣言した場合と何ら変わりません。Xcode は警告を表示します。
http://blog.sunnyxx.com/2014/04/13/objc_dig_interface/
を参照することをお勧めします。obj c には厳密なプライベート メソッドがありません。これは、obj c 内のオブジェクトの特定のメソッドを呼び出すことによって、実際にオブジェクトにメッセージが送信され、オブジェクトはそのメッセージを処理できるかどうかを確認します。処理できる場合、対応するメソッドが呼び出されて実装されます。処理できない場合、これは完全に実行時アクションです。したがって、メソッドがヘッダー ファイルで宣言されていない場合でも、実行時に呼び出すことができます。これは、ヘッダー ファイルでメソッドを宣言した場合と何ら変わりません。Xcode は警告を表示します。
クラス自体もオブジェクトであるため、静的メソッドの呼び出しもこのオブジェクトにメッセージを送信することを意味します。
いわゆるプライベート メソッド (ヘッダー ファイルに定義されていない) は、プログラマーが自分自身に課す制約のほうが多いと思います。たとえば、ヘッダー ファイルに配置されない場合は、公開されないことを意味します。このメソッドは外部から呼び出すことは望ましくありませんが、必要に応じて使用することもできます。
この記事を参照してください。非常に詳細かつ明確です: http://blog.jobbole.com/45963/
はい、インターフェイス内のカテゴリと拡張機能はプライベート メソッドと同等です。
カテゴリ: クラス名 + 拡張メソッド; 拡張子: @実装領域
検索できます。
.h で宣言されたすべてのメソッドはデフォルトでパブリックです。
プライベートにしたい場合は、.h で宣言する必要はなく、.m で直接実装するだけです。すべてのプライベート メソッドは p_ で始めることをお勧めします。例:
- (無効) p_myFirstMethod
{
//todo..
}