【问题标题】:Core Data: refreshing tableview when switching tabs in tab bar核心数据:在标签栏中切换标签时刷新tableview
【发布时间】:2011-07-29 06:10:16
【问题描述】:

我将核心数据用于选项卡栏 + 导航控制器原型应用程序,具有一个实体:事件。

所以我有两个标签,过去和现在。我正在使用 nsfetchedresultscontroller 和 nspredicate 将数据过滤到各自的表视图中。

现在这是我遇到问题的地方,当我创建一个新日期时,它会像我期望的那样显示在当前的表格视图中,但随着时间的推移,事件会停留在该日期之后,并且永远不会移动到过去的表格视图。我能做到这一点的唯一方法就是从头开始启动应用程序,杀死背景视图。

我已尝试安装 reloadData 调用以显示在视图中的表视图。那是行不通的。

当应用程序从后台启动时,我也尝试使用 [tableview reloadData]。但这也行不通。

我想不到别的了,希望大家帮忙。

[编辑]

我刚刚想出了怎么做!我试图下载我认为我上传到 github 的示例代码,但看起来那里没有文件。我不知道如何将项目上传到那里。

无论如何,要做到这一点是在视图中确实出现了,只需将带有谓词的提取结果控制器(没有提取结果控制器变量)中的整个提取请求放入。现在,如果您切换视图的那一刻,整个数据都会更新和过滤!

希望这可以帮助其他寻找解决此问题的方法的人。

【问题讨论】:

  • 添加代码以便用户查看/

标签: iphone core-data nsfetchedresultscontroller nspredicate


【解决方案1】:

嗯,如果您已经尝试过重新加载数据,那么其他这些可能是可能的问题:

  • 确保缓存与谓词一致。如果在表中 您使用缓存的控制器,并且表中填充了一些东西 像entityDate = myCalculatedDate 那么谓词可能不同, 你需要先删除缓存。我想你可以尝试设置 cache:nil 看看是不是这个问题。
  • 用于更新表,尤其是新插入的行或移动的行 对于不同的索引,您需要实现获取的控制器 委托
  • [EDIT] 如果我记得很清楚,我不确定是否标准 viewWillAppear/dissappear 的机制可以与 Tab Bar 一起按预期工作, 可能有一些代表来实现,但这只是一个 猜测!

这是我不用看代码就能猜到的。

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 2010-11-24
    • 2021-04-16
    • 1970-01-01
    相关资源
    最近更新 更多