0

この特定のココア プロジェクトでは、一連のビューのプロパティがあり、それぞれのサブビューが xml ファイルから解析されます。

一度にアクティブにできるのはセット内の 1 つのビューだけであり、ビューは頻繁に変更される可能性があります。

するのが最善でしょうか

A.) 解析されたプロパティでビュー オブジェクトを初期化し、それらへの参照を配列に格納して、必要に応じて使用します。

b.) 解析されたプロパティを使用して NSObject を初期化し、ファクトリを介してオンデマンドでそれぞれのビューを作成できます。

この背後にあるロジックは、使用されていない NSViews (大部分) は、永続的な参照を持たないため、必要に応じて ARC によって割り当て解除される可能性があるということです。

これは別の疑問を投げかけます。

NSView が参照されているが表示されていない場合、これはすべてバックグラウンドで行われますか (NSView は NSObject サブクラスであるため)。

4

1 に答える 1

0

独自のバージョンの xib の実装について説明しています。「最良の」答えは、設計上の決定を再考することです。目的の結果を達成するためのより良い簡単な方法がおそらくあります。

NSView のすべてのプロパティとサブビューを記述する NSObject の配列と NSView の配列とのメモリの違いはわずかです。

最もメモリ効率の良い方法は、NSWindowController または NSViewController を介して単一のビューを遅延デシリアライズすることです。

于 2013-01-24T02:48:39.190 に答える