4

私はこれらの分野から混乱しています.私はネットで検索しました.しかし、すべてのサイトが異なる解決策を提供しています.そして、私はこのテクノロジーに不慣れです.したがって、このリストの正しい違いと定義を提供してください.

4

2 に答える 2

20

カテゴリとサブクラス

カテゴリを使用すると、タイプを変更せずに既存のクラスのAPIを拡張できます。サブクラス化もAPIを拡張しますが、新しいタイプを導入します。さらに、サブクラス化により状態を追加できます。

通知と委任

通知は、無関係のクラスが通信できるようにする方法です。一方、委任により、関連するクラスは、より明示的に定義されたインターフェースを使用して通信できます。

于 2012-11-26T11:36:03.340 に答える
7

カテゴリ: カテゴリは、実際のオブジェクトをサブクラス化または変更することなく、オブジェクトに機能を追加する機能を提供します。便利なツールであり、NSStringや独自のカスタムオブジェクトなどの既存のクラスにメソッドを追加するためによく使用されます。

Know more for category from here : Objective-cのカテゴリ

サブクラス: Cocoaアプリケーションで作成するすべてのオブジェクトは、「NSObject」基礎クラスの子孫です。NSObjectクラスは、すべてのオブジェクトに適用されるプロパティとメソッドを識別します。NSObjectクラスは、サブクラスと呼ばれるオブジェクトの小さなグループに分割されます。これらのサブクラスのオブジェクトは、NSObjectのプロトコルに準拠するだけでなく、サブクラスを管理するメソッドによってより正確に定義されます。すべてのオブジェクトクラスは、オブジェクト階層内でその上のスーパークラスから継承し、それを一意のクラスにするメソッドも宣言します。

Know more for subclasses from here : Suclassing&SuperClassing

通知:通知は、プログラム内のイベントを通知するために1つ以上の監視オブジェクトに送信されるメッセージです。Cocoaの通知メカニズムは、ブロードキャストモデルに従います。これは、プログラムイベントを開始または処理するオブジェクトが、そのイベントについて知りたい任意の数のオブジェクトと通信するための方法です。オブザーバーと呼ばれるこれらの通知の受信者は、イベントに応じて自分の外観、動作、および状態を調整できます。通知を送信(または投稿)するオブジェクトは、それらのオブザーバーが何であるかを知る必要はありません。したがって、通知は、プログラムの調整と結束を達成するための強力なメカニズムです。これにより、プログラム内のオブジェクト間の強力な依存関係の必要性が減少します(このような依存関係により、これらのオブジェクトの再利用性が低下します)。Foundation、AppKit、の多くのクラス

Know more for notifications from here : NSNotificationクラスリファレンス

代表者:デリゲートは、別のオブジェクトがプログラム内のイベントに遭遇したときに、そのオブジェクトに代わって、または別のオブジェクトと協調して動作するオブジェクトです。委任オブジェクトは、多くの場合、ユーザーイベントに応答するレスポンダーオブジェクト(つまり、AppKitのNSResponderまたはUIKitのUIResponderから継承するオブジェクト)です。デリゲートは、そのイベントのユーザーインターフェイスの制御を委任されるオブジェクトであるか、少なくともアプリケーション固有の方法でイベントを解釈するように求められます。つまり、基本的に、委任とは、オブジェクト間に強い相互依存関係を作成することなく、オブジェクトが相互に対話できるようにする方法です。これにより、アプリケーションの設計の柔軟性が低下します。オブジェクトが相互に制御する代わりに、メッセージを送信(または委任)するデリゲートを持つことができ、デリゲートは何をするにしても、

Know more for delegates from here : アプリケーションデリゲートクラスリファレンス

于 2012-11-26T11:40:56.703 に答える