Я пытаюсь выяснить, как перезагрузить данные в NSViewController.Как перезагрузить данные в NSViewController?
У меня есть проект, как это, левая сторона бара NSOutlineView (который управляется моей outlineViewController) и право Разделить обычай вид: screenshot http://oi47.tinypic.com/25tyy2u.jpg
Так что у меня этот файл «profile.xib», который содержит некоторую информацию о объекте «человек». Я установил владельца файла profile.xib в свой контроллер представления, ProfileViewController, который является подклассом NSViewController.
Таким образом, каждый раз, когда пользователь выбирает другой профиль из боковой панели, мой 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
(код взят из sidebardemo от яблока)
Поскольку пользователь может выбрать разные профиль с боковой панели, мне нужно перезагрузить данные в моем ProfileViewController. Однако я не могу понять, какой метод должен содержать мой код данных перезагрузки. Если я положу свой «код перезагрузки данных» в awakefromnib, он будет вызываться один раз, также viewload будет вызывать только один раз. Я не хочу перераспределять и повторно инициализировать _profileViewController все, когда выбран профиль, из-за проблемы с памятью.
Я не могу использовать привязку здесь, так как некоторые поля довольно сложны для отображения.
так как я собираюсь перезагрузить данные?