2012-02-20 51 views
12

我的应用程序数据中有一个plist文件,我想每24小时从Web服务器更新一次。有没有办法检查文件上次修改时间,或者我应该在某种程度上注册更新文件的日期和时间,并使用它来比较?获取应用程序数据文件的最后文件修改日期?

if (lastMod > currentDate){ 
    [arrayFromXml writeToFile:path atomically:YES]; 
} 

回答

43

可以使用的NSFileManager此:

NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:@"path/to/my/file" error:nil]; 

NSDate *date = [attributes fileModificationDate]; 

// compare 'date' 
// date > now 
if ([date compareTo:[NSDate date]] == 1) 
{ 
    [arrayFromXML writeToFile:@"path/to/my/file" atomically:YES]; 
} 
+0

错误:'是一个'NSError **'。如果你不需要它,你应该传入'NULL',而不是'nil'。 – 2013-10-02 16:54:52

+0

@ H2Co3我想如果你是迂腐的,是的。尽管我非常怀疑实践中的任何人都会感到困惑。 – 2013-10-02 17:14:44

+0

@ RichardJ.RossIII AFAIK'nil'和'NULL'在iOS上扩展到相同,这是不同的概念。 – 2013-10-02 17:15:53

-3

你可以存储在NSUserDefaultsNSDate时saving..and然后将其与当前时间进行比较,检查差异,,

+3

似乎是一个当NSFileManager会为你做这件事... – 2012-02-20 17:18:08

+2

是的,你是对的(不知道).. + 1从你我... – Shubhank 2012-02-20 17:19:29

相关问题