
概述我有一个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中的数据绑定所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)