我正在开发一个从Web获取数据并将其显示给用户的应用程序.假设数据是餐馆的评论,并且在一个视图上显示一个评论.用户可以向左或向右滑动以转到上一个/下一个评论.数据是异步提取的(每次审核都有一个帖子).
这是问题陈述 – 假设已经提取了5条评论,并且用户正在查看当前的第3条评论.现在,第6次审核被提取,我想将其显示为用户的第4次审核(因为第6次审核的发布日期比第5次审核更新).我的模型类应该如何通知视图控制器?
我考虑过一些选择 –
>向视图控制器提供一个数组,然后发送有关要在特定索引处插入数组之间的新项目的NSNotifications
>使用NSFetchedResultsController(这有点棘手,因为我没有使用它与表视图控制器)
>视图控制器始终要求显示下一个评论(来自模型),并且没有一系列评论
在这种情况下是否有任何已建立的设计模式?除上述3之外的其他建议值得欢迎!
解决方法
只需使用NSFetchedResultsController.使用NSIndexPaths时,只需忽略该部分.它基本上是一个美化的NSArray,提供免费通知.
以下是我认为我会这样做的方式:
>确保NSFetchedResultsController的NSFetchRequest按发布日期排序.>处理NSFetchedResultsControllerDelegate方法.>当NSFetchedResultsController更新时,保存当前对象,重新加载集合视图,然后滚动到保存的对象而不进行任何动画.这对用户来说似乎没有发生在当前页面上.