0

NSViewController でデータをリロードする方法を見つけようとしています。

私はこのようなプロジェクトを持っています。左側のバーは NSOutlineView (私の OutlineViewController によって制御されます) で、右側の分割ビューはカスタム ビューです: スクリーンショット

だから私はこの「profile.xib」ファイルを持っています。これには「人」のオブジェクトの情報が含まれています。profile.xib ファイルの所有者を、NSViewController のサブクラスであるビュー コントローラー ProfileViewController に設定しました。

したがって、ユーザーがサイド バーから別のプロファイルを選択するたびに、outlineviewController が呼び出されます。

if (!_profileViewController)
_profileViewController = [[ProfileViewController alloc] initWithNibName:@"profile" bundle:nil]; 
[_profileViewController setProfile: item]; //item is an instance of the profile object
NSView *view = [_profileViewController view];
view.frame = _mainContentView.bounds;
[view setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
[_mainContentView addSubview:view]; //add profile's view to the right hand side split view

(コードは、Apple のサイドバーデモから取得されます)

ユーザーはサイドバーから別のプロファイルを選択する可能性があるため、ProfileViewController にデータをリロードする必要があります。ただし、どのメソッドにリロード データ コードを含める必要があるかわかりません。「データのリロード コード」を awakefromnib に配置すると、それは 1 回呼び出され、viewload も 1 回だけ呼び出されます。メモリの問題により、プロファイルが選択されているときに _profileViewController をすべて再割り当てして再初期化したくありません。

一部のフィールドは表示が非常に複雑なため、ここではバインドを使用できません。

では、どのようにデータをリロードするのでしょうか?

4

1 に答える 1