0

我有一个由 NSFetchedResultsController 支持的主 UITableView 控制器,此视图显示按时间划分的结果列表。此视图由一个分段控件管理,该控件确定 NSFetchedResultsController 上谓词的类别和各种标志。到目前为止,一切似乎都很好。

但我对详细视图有疑问:

我希望用户能够在详细视图中导航下一个和上一个,就像默认的ios 电子邮件应用程序一样。

我将如何通过我的设置实现类似的效果?我认为我不能只将实体传递给我的详细视图并增加/减少一个 id,因为之前的列表视图取决于一些过滤谓词。

我是否需要在详细控制器中创建另一个使用类似谓词的 nsfetchedresults 控制器?我将如何有效地检测当前结果之后/之前是否没有更多内容,以便我可以将 prev/next 按钮变灰?

我能否以某种方式利用主列表视图(由 nsfc 支持)已经返回的结果集,即使它是批处理和分段的?

感谢您帮助我解决这个问题。

4

1 回答 1

1

我的第一个想法是子类NSFetchedResultsController化,以便它记住已选择用于详细查看的最新项目的索引路径。它可以为“previous”实现诸如(id)nextObject(BOOL)nextExists和类似的方法。

如果您将表视图控制器中对它的引用传递到详细信息控制器,则可以在此处来回执行操作,并在返回时通过使用当前详细信息索引路径选择单元格来同步表中的选定条目。

唯一真正的技巧是索引路径算法,但这应该可以通过sections检查NSFetchedResultsController.

于 2012-08-10T23:21:54.817 回答