5

私は経験豊富な開発者であり、Mac開発に不慣れなので、

まだ多くのギャップがあり、私は良い読み物を見つけるのに苦労しています。私の質問のいくつかを以下に示します。これらは非常に単純/一般的です。基本的なアプリのブートストラッププロセスと、関連するすべてのクラスについて詳しく説明した、短く簡潔なドキュメントが必要です。ありがとう!

  • XCodeによって生成される「デリゲート」には、NSPersistentStoreCoordinator、NSManagedObjectModel、およびNSManagedObjectContextのインスタンスが含まれています。詳細を教えてください。
  • デリゲートは「@interfacetests_AppDelegate:NSObject{」と宣言されています。プロトコルが欠落しているのはなぜですか?ネット上に例があります。
  • アプリケーションデリゲートがInterfaceBuilder内でインスタンス化されていることがわかります。NSApplicationインスタンスのどこに渡されますか?
4

2 に答える 2

1
  1. これは、CoreDataベースのアプリのテンプレートを使用する場合にのみ発生します。CoreDataの基本をお読みください。

  2. プロトコルはOSX10.6でのみ形式化されました。それ以前は非公式に行われていました。デリゲートがリファレンスに記載されているセレクターを実装している限り、デリゲートは呼び出されます。デリゲートがプロトコルを明示的に採用する必要は厳密にはありません。もちろん、それを行う方が良いです。NSApplicationDelegateリファレンスを参照してください。すべてのエントリにコメントがあります

    Mac OSXv10.0以降で利用できます。Mac OSXv10.6より前の非公式プロトコルの一部として利用できます。

  3. Interface Builderで、デリゲートがファイルの所有者の「デリゲート」アウトレットに割り当てられていることがわかります。ファイルの所有者を右クリックすると、それを確認できます。nibファイルには、IBで作成された凍結乾燥オブジェクトが含まれています。アプリMainMenu.nibが初期化プロセスの一部として読み取るとNSApp 、ファイルの所有者として割り当てられます。そのため、nibファイル内でインスタンス化およびフリーズされたアプリデリゲートはのに割り当てられNSAppますdelegateNibファイルを読んでください。

于 2010-07-21T18:04:00.247 に答える
1

XCodeによって生成される「デリゲート」には、NSPersistentStoreCoordinator、NSManagedObjectModel、およびNSManagedObjectContextのインスタンスが含まれています。詳細を教えてください。

それがCoreDataのものです。

デリゲートは「@interfacetests_AppDelegate:NSObject{」と宣言されています。プロトコルが欠落しているのはなぜですか?ネット上に例があります。

おそらく見落とし。AppKitには、必ずしも正式なNSApplicationDelegateプロトコルがあるとは限りませんでした。Appleがテンプレートを更新しなかった可能性があります。バグを報告する可能性があります。

アプリケーションデリゲートがInterfaceBuilder内でインスタンス化されていることがわかります。NSApplicationインスタンスのどこに渡されますか?

アプリケーションオブジェクトを右クリックします。そのdelegateアウトレットがデリゲートオブジェクトに接続されていることがわかります。

于 2010-07-21T18:04:03.177 に答える