2

我只想每天检查一次服务器上的文件(NSURL)。而且,无论我是否获取文件,那天我都不会再次运行该函数(检查文件)。

这看起来很容易......但我预见到了问题。假设我在 mainBundle 下创建了一个目录:“/Library/runOnceEachDay/”。也许我可以写信给 /Library/runOnceEachDay/20100601 知道该文件只有在我已经运行该函数时才会存在。如果不存在,则运行该函数,并在该函数成功后写入一个以日期为文件名的零长度文件。然后在运行该函数之前检查“mainBundle/Library/runOnceEachDay/YYYYMMDD”,而 YYYYMMDD 是今天的日期。如果该文件存在,请不要运行。

我可以运行一次房屋清洁例程来清洁该目录一次/每周或其他什么。有更好的想法吗?

谢谢!

4

2 回答 2

4

逻辑很好。您可以按照您所说的处理文件,并且“文档”文件夹是此类文件的好位置,或者您可以只使用 NSUserDefaults 键,其中包含您上次打电话回家的日期。

于 2010-06-02T21:13:33.357 回答
2

当您启动应用程序时,从 NSUserDefaults 获取以前的电话回家日期/时间 (NSDate)。(它不会第一次出现)。这个SO question(选项 1)演示了如何。

如果自上一个日期/时间(或者您没有在那里找到它)以来已经过去了超过 24 小时(或 7 天或其他时间),则打电话回家并将当前日期/时间保存在 NSUserDefaults 中以供下次启动。

于 2010-06-02T23:20:03.607 回答