【问题标题】:Store Core Data For X Number of Minutes将核心数据存储 X 分钟
【发布时间】:2011-07-15 20:54:11
【问题描述】:

我正在构建一个 iPhone 应用程序,它使用您当前的位置从 WCF 服务获取一系列结果。然后我使用 Core Data 存储 WCF 返回的数据,然后填充一个 TableView。

我想做的是将结果存储大约 30 分钟,然后每次加载视图时,检查我是否需要刷新数据。我还会观察用户的位置,这样如果他们移动了相当长的距离,数据也会更新。

我的问题是我不确定监控数据年龄的最佳方法是什么。

我是否应该将插入日期存储在核心数据实体中。或者,我可以创建一个新实体来存储全局“上次检索”日期。或者我可以在 plist 中存储一个值。

我不确定上述建议中的哪一个是最好的,甚至还有更好的建议。非常感谢您提供任何帮助!

【问题讨论】:

    标签: iphone objective-c ios core-data


    【解决方案1】:

    insertDate 属性可能是最好的选择。每当您的应用程序加载时,您都可以检查时间变化与该属性的值。如果时间超过 30 分钟,您可以触发 reload 方法,否则您可以占用剩余时间并设置一个计划的 NSTimer 事件,该事件将在时间用完时触发该方法。重新加载数据后,请务必重置 insertDate 值

    【讨论】:

    • 感谢您的回复。当您说添加 insertDate 属性时,您是在谈论将其添加到我的数据实体中,还是创建一个新实体来跟踪插入日期?
    • 哦,对不起。我的意思是将其添加到您的数据实体中。这样一来,您就可以一举完成所有事情,可以这么说
    • 啊,是的,这很有道理 :) 感谢您的帮助。