私は、OS X と iOS の両方で、かなりの量の Cocoa プログラミングを行ってきました。そして、物事が一般的にどのように適合するかに関して、何が機能し、何が機能しないかについてかなりの経験を積んできました。ただし、Cocoa アーキテクチャにはまだ明確でない側面がたくさんあります。何らかのガイド/本/その他があるのではないかと考えています。それらのいくつかがどのように機能するかを説明します。
たとえば、最近出会ったもの:
- NSViewController を設定し、その 'representedObject' を NSArrayController の 'selection' にバインドしてから、UI 要素をその presentedObject にバインドすると、機能しません。なぜだめですか?その状況を処理する最善の方法は何ですか? 私は最終的に NSArrayController をその presentedObject として設定しましたが、それは間違っているようです - それは悪い設計ですか?
他にも、カスタム ビューを最適に設定する方法など、過去に疑問に思ったことはたくさんあります。(私は以前、Interface Builder で空の NSView を作成し、コードでカスタム ビューを作成して、そのビューのサブビューとして設定していました!) Cocoa は信じられないほど柔軟で、同じことを実現する方法はたくさんありますが、明らかに、それらのいくつかは、将来的に問題を引き起こす可能性があります。
Apple 開発者サイトには、時間がなくて調べきれなかった参考資料がたくさんあります。これらの多くは、さまざまなドキュメントでカバーされていると思いますが、サードパーティのリソースが役立つ場合もあります。メインのドキュメントでカバーされていない状況を引き起こすこともあります。何かご意見は?