cocoa – NSCollectionView中的数据绑定

cocoa – NSCollectionView中的数据绑定,第1张

概述我有一个NSCollectionView,我有一个dataArray和一个selectedIndexes NSIndexSet在它的文件所有者中定义. (由于我在MonoMac上使用该项目,我在使用简单的NSArrayController时遇到了一些麻烦,因此我决定自己实现源代码.)初始化我的控制器时,我正在向dataArray添加一些数据(NSMutableDictionarys).当应用程序显 我有一个NSCollectionVIEw,我有一个dataArray和一个selectedindexes NSIndexSet在它的文件所有者中定义. (由于我在MonoMac上使用该项目,我在使用简单的NSArrayController时遇到了一些麻烦,因此我决定自己实现源代码.)初始化我的控制器时,我正在向dataArray添加一些数据(NSMutableDictionarys).当应用程序显示它的窗口时,我刚刚添加的所有数据都显示得很好.

问题是对数据源的更改不会以任何方式影响接口.当我从数据源添加,更改或删除项目时,接口是否应该自动更新,因为我使用相应的键绑定了值?

我错过了什么吗?有什么想法吗?

非常感谢
-F

解决方法 绑定到数据源的多对多关系时,必须确保数据源符合此属性的Key-Value Observing.拥有一个可变集合的公共属性是不够的,比如NSMutableArray.

在数据源的实现中,您必须使用NSkeyvalueObserving协议中的方法来通告您所做的更改(使用willChange:valuesAtIndexes:forKey:for to-many relationship).

如果性能不如简单实现重要,您还可以为属性使用(不可变)NSArray,并在数据更改时始终分配新数组.但是,这样您就无法获得添加或删除对象的精美动画.

总结

以上是内存溢出为你收集整理的cocoa – NSCollectionView中的数据绑定全部内容,希望文章能够帮你解决cocoa – NSCollectionView中的数据绑定所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1010050.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存