の安定性は、 の安定性NSTableColumn *
とまったく同じNSTextField *
です。
ほとんどの場合、 の として機能しているオブジェクトのライフサイクルは、 のライフサイクルと非常に似ていNSOutlineViewDataSource
ます。 NSOutlineView
NSTableColumn
典型的なパターンは、NSWindowController
サブクラス インスタンスをアウトライン ビューのデータ ソースとして機能させることです。アウトライン ビューは、ファイルの所有者としてウィンドウ コントローラーを持つ xib 内にあります。テーブルの列は、ウィンドウ コントローラーが初期化された直後に作成されます (そして、これをインターセプトするため-loadWindow
に呼び出されたポイントの後、サブクラスでオーバーライドして最初に呼び出し、次に設定された no-longer-pointers を使用します) Interface Builder) であり、ウィンドウ コントローラーの割り当てが解除されるとすぐに破棄されます。が呼び出されてからウィンドウ コントローラーで呼び出されるまで、同じものが使用されます (もちろん、独自のコードで何もいじらないことが条件です)。NSWindowController
-loadWindow
NSWindowController
[super loadWindow]
nil
-loadWindow
-dealloc
NSTableColumns
唯一の潜在的な危険は、データ ソースの割り当てが解除された後、アウトライン ビューがそのデータ ソースを呼び出すことです。この問題を回避するには、ウィンドウ コントローラーの割り当てを解除するときに、アウトライン ビューのデータ ソースを nil に設定します。