在NSOutlineView中显示NSDictionary的内容并更新此数据

问题描述

我需要在NSDictionary显示NSOutlineView内容。 我通过使用保存数据并被NSOutlineView用作数据源的结构来完成此操作。

struct DataItem {
    var caption : String
    var text : String
}

dataInOutlineView: [DataItem]

我遍历NSDictionary中的所有项目并将其添加到数据数组中

data.append(DataItem(caption: "KeyFromDict",text: "TextFromDict"))

然后我重新加载我的NSOutlineView

outlineView.reloadData()

可以找到这个概念,但是我的问题是NSDictionary中的数据定期更改,我想在NSOutlineView显示更新的值。

我的第一次尝试是从阵列中删除所有项目

 data.removeAll

然后使用上面的方法再次添加数据,然后再次重新加载NSOutlineView,但这将导致NSOutlineView的完全刷新,这意味着所有展开的项目都将再次折叠,而{{1 }}滚动到顶部。

有什么更好的主意来实现这一目标? (如果没有,可以使用上述方法更新数据,但保留所有展开/折叠和滚动位置状态吗?)

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)