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