財団の枠組み(財団のパラダイムとポリシー)

一方で、公式文書の翻訳はあまり興味深いものではありません。他方、この翻訳はどこにも見当たりません。文書自体はかなり活気のある言語で書かれており、実際、これは私の個人的なブログです。 しかし、このメモは、Macで作業している他のプログラマにとって興味深いものになるかもしれません。



Foundationは、さまざまな状況でプログラムオブジェクトの一貫した予想される動作を保証するために、いくつかのCocoaプログラミングパラダイムとポリシーを導入しています。 以下が含まれます。



オブジェクトの保持と解放(オブジェクトの保持とオブジェクトの廃棄)。 Objective-CとFoundationは、Cocoaにオブジェクトが必要なときに存在することを保証し、オブジェクトが不要になったときにそれらを解放する2つの方法を提供します。 Objective-C 2.0で導入されたガベージコレクションは、プログラムで不要になったオブジェクトを自動的に監視および管理し、メモリを解放します。 Foundationは、従来のメモリ管理方法も引き続き提供しています。 これは、オブジェクトの所有権のポリシーに基づいており、オブジェクトが作成、コピー、または明示的に引き継いだ(番号付け、保持)他のオブジェクトのリリース(リリース、リリース)を担当することを規定しています。 NSObject(クラスおよびプロトコル)は、オブジェクトを保持および解放するメソッドを定義します。 認可プール(NSAutoreleasePoolクラスで定義)は、遅延リリースメカニズムを実装し、呼び出し側のメソッドが責任を負わないオブジェクトを返すことについて、Cocoaプログラムが合意した合意を得られるようにします。 ガベージコレクションとメモリ管理の詳細については、 オブジェクトの保持と廃棄を参照してください。



可変クラスのバリアント。 Foundationの多くの変数とコンテナクラスには、不変クラスの可変バリアントがあり、可変クラスは常に不変クラスの子孫です。 カプセル化された変数またはクラスのメンバーを動的に変更する必要がある場合は、可変クラスのインスタンスを作成できます。 不変クラスの子孫なので、不変型を必要とするメソッドに可変オブジェクトを渡すことができます。 可変オブジェクトの詳細については、 オブジェクトの可変性を参照してください



クラスクラスター クラスクラスターは、抽象クラスと、抽象クラスがアンブレラインターフェイスであるプライベートコンクリートクラスのセットです。 状況に応じて(特にオブジェクトの作成方法に応じて)、オブジェクトには適切なクラスがあり、それが返されます。 たとえば、NSStringおよびNSMutableStringは、さまざまなタイプの格納情報に対して最適化された、さまざまなプライベートサブクラスのオブジェクトの仲介役として機能します。 時間の経過とともに、特定のクラスのセットは、プログラムの動作を中断することなく数回変更されました。 クラスターの詳細については、 クラスクラスターを参照してください



通知 通知は、Cocoaの重要なプログラミングパターンです。 オブジェクト(オブザーバーと呼ばれる)が別のオブジェクトが何をしているかを追跡したり、ユーザーまたはシステムイベントに関する情報を受信したりできるようにするブロードキャストメカニズムに基づいています。 通知を生成するエンティティは、通知受信者の存在または特徴を認識していない場合があります。 通知には、同期、非同期、および分散のいくつかのタイプがあります。 通知フレームワークのメカニズムは、NSNotification、NSNotificationCenter、NSNotificationQueue、およびNSDistributedNotificationCenterクラスを使用して実装されます。 通知の詳細については、通知を参照してください



All Articles