gam*_*mma 8 tree objective-c key-value-observing uitableview ios
我正在使用NSFetchedResultsController为我的UITableView实现KVO(很明显).我无法弄清楚的是,如何使用多个实体 - 一种树形结构 - 同时存在(ed).
这是我的设置:
现在我可以获取要呈现的数据 - 到目前为止一直很好.我想要的是一个具有以下结构的单节TableView(如平面视图):
虽然它可能看起来像是通过部分完成的事情,但事实并非如此.两个实体都应该是UITableViewCells.有人可以指出我正确的方向来平坦而不会失去实际的等级.
听起来您需要维护自己的“扁平化”数据源。也许以下方法会起作用:
当NSFetchedResultController告诉您Entity1已插入一个新内容时,您将Entity1其及其关联的Entity2s 插入到 say 中,_flattenedArray因此它看起来像这样:
[<Entity1>, <related Entity2>, <related Entity2>...]
将它们插入的位置取决于您 - 基本上可以归结为:
Entity1和关联Entity2对象的子数组_flattenedArray插入新的子数组。reloadData或其他方式告知tableView新数据当一个Entity1对象被删除时,删除它以及所有后续的Entity2对象,直到遇到另一个对象的末尾_flattenedArray或遇到另一个Entity1对象。这假设Entity2永远不是“顶级”对象。如果是,您只需要删除Entity2关系中的那些对象。
当一个Entity1对象获得或丢失一个Entity2对象时,您可以先删除该Entity1对象,_flattenedArray然后重新插入它。如果这太有效,请改为进行合并。
| 归档时间: |
|
| 查看次数: |
1005 次 |
| 最近记录: |