タグ付けされた質問 「nsobject」

2
NSObject + loadおよび+ initialize-彼らは何をしますか?
+ initializeまたは+ loadをオーバーライドするように開発者を導く状況を理解することに興味があります。ドキュメントは、これらのメソッドがObjective-Cランタイムによって呼び出されることを明確にしていますが、これらのメソッドのドキュメントから明らかなのはこれだけです。:-) 私の好奇心は、Appleのサンプルコード-MVCNetworkingを見ることにあります。モデルクラスには+(void) applicationStartupメソッドがあります。ファイルシステムのハウスキーピング、NSDefaultsの読み取りなどを行います。NSObjectのクラスメソッドを読み取ろうとすると、この管理作業は+ loadに入れても問題ないようです。 私はMVCNetworkingプロジェクトを変更し、App Delegateの+ applicationStartupへの呼び出しを削除し、ハウスキーピングビットを+ loadに入れました...私のコンピューターは発火しませんでしたが、それが正しいというわけではありません!+ loadまたは+ initializeと対比して呼び出さなければならないカスタムセットアップメソッドについて、微妙な点、注意点、および注意点について理解を深めたいと思っています。 + loadのドキュメントの場合: ロードメッセージは、動的にロードされ、静的にリンクされたクラスとカテゴリに送信されますが、新しくロードされたクラスまたはカテゴリが応答可能なメソッドを実装している場合のみです。 すべての単語の正確な意味がわからない場合、この文は扱いにくく、解析が困難です。助けて! 「動的にロードされ、静的にリンクされた」とはどういう意味ですか?何かを動的にロードして静的にリンクできますか、それとも相互に排他的ですか? 「...新しくロードされたクラスまたはカテゴリは、応答できるメソッドを実装しています」どのメソッドですか?どのように応答しますか? + initializeに関しては、ドキュメントには次のように書かれています: 初期化は、クラスごとに1回だけ呼び出されます。クラスおよびクラスのカテゴリに対して独立した初期化を実行する場合は、ロードメソッドを実装する必要があります。 これは、「クラスを設定しようとしている場合は...初期化を使用しないでください」という意味です。じゃ、いいよ。いつまたはなぜ私は初期化をオーバーライドしますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.