gpt4 book ai didi

xcode - 如何在 NSViewController 中重新加载数据?

转载 作者:行者123 更新时间:2023-12-03 17:54:28 27 4
gpt4 key购买 nike

我正在尝试弄清楚如何在 NSViewController 中重新加载数据。

我有一个这样的项目,左侧​​栏是 NSOutlineView (由我的outlineViewController控制),右侧分割 View 是自定义 View : screenshot

所以我有这个“profile.xib”文件,其中包含“人”对象的一些信息。我已将 profile.xib 文件所有者设置为我的 View Controller 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 的所有内容。

我无法在这里使用绑定(bind),因为某些字段的显示非常复杂。

那么我该如何重新加载数据呢?

最佳答案

如何将“将配置文件信息加载到 View 中”代码从 -awakeFromNib 移动到其自己的 -reloadData 方法中,并在调用 -setProfile: 时调用该方法?您可以通过从 TableView 中自行调用它或覆盖 -setProfile: 来记下配置文件,然后立即调用 -reloadData 来执行此操作。

关于xcode - 如何在 NSViewController 中重新加载数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15792457/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com