2

我的应用需要一个看不见的图像的提要。我打算用UITableViewController结合来做到这一点NSFetchedResultsController

当用户访问此提要时,他将看到以前从未见过的图像。当他滚动浏览表格时,他滚动浏览的图像将被视为已被看到。

自然地,我想到了将 fetchedResultsController 的请求设置为查找带有 predicate 的图像"seen = 0"。我的 UITableViewControllerdidEndDisplayingCell将简单地将项目标记为已见。

但是,这并不理想,因为NSFetchedResultsController会告诉 tableView 删除行,因为它们不再存在于获取的结果控制器中。

我希望我的用户能够向后滚动并仍然看到这些图像。这些图像应该只会在用户下次使用该应用程序时消失。

有人可以推荐一个聪明的方法来做到这一点吗?

4

1 回答 1

1

我建议你做什么:

1 - 创建一个 NSMutableArray ,您可以在其中添加一些单元格/图片的 id

2 - 在 UITableViewController 的 viewDidLoad 中添加以下内容

[[NSNotificationCenter defaultCenter] addObserver: self
                                         selector: @selector(handleEnteredBackground:) 
                                             name: UIApplicationDidEnterBackgroundNotification
                                           object: nil];

3 - 实现方法handleEnteredBackground:,所以当你的应用程序进入后台状态时,你枚举你的数组并将所有与 NSFetchedResultsController 对象匹配的对象标记为 seen = 1。

于 2013-04-14T09:56:48.343 回答