Aus*_*tin 6 cocoa core-data nsarraycontroller cocoa-bindings
我的应用程序中有一个iTunes样式界面:左侧的源列表(NSOutlineView)包含不同的库和播放列表,界面右侧显示NSTableView,显示"演示文稿"的信息.与iTunes类似,我在表格视图中显示相同类型的信息是否选择了库或播放列表(标题,作者,创建日期等).
我目前有一个连接到我的NSTableView的NSArrayController,并根据源列表中选择的内容设置fetch谓词.这在选择库时工作正常,因为我可以设置fetch谓词来过滤我的Presentation Core Data实体中的"type"字段.但是,当我尝试调整播放列表的获取谓词时,看起来没有任何方法来设置获取谓词,因为我在播放列表和演示文稿之间有一个表来跟上播放列表中的顺序.根据Apple文档,这些类型的谓词不适用于Core Data(它基本上没有多个内连接).以下是我的数据模型的相关部分.
我的数据模型设置不正确吗?我应该放弃NSArrayController并手动连接NSTableView吗?我想弄清楚是否有一个简单的修复,或者真的是一个设计缺陷.
CoreData中有一个创建关系的文档
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html
http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/CoreData /文章/cdBindings.html
但从您的数据库模型来看,您使用三个表是正确的:
Presentation
包含有关歌曲的信息
PlaylistItem
、与one-to-one
演示的关系
Playlist
以及one-to-many
与 PlaylistItem 的关系
演示[ID TITLE URL ALBUM ARTIST ....]
播放列表项目[ID Presentation_ID Playlist_ID]
播放列表 [ID Title MoreInfo]
所以用IB CoreData实现的语言来说:
是的,如果我是你,我会更愿意手动连接 nstableview
归档时间: |
|
查看次数: |
1276 次 |
最近记录: |