2012-02-20 76 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

相關問題