2013-10-28 34 views
0

我從json對象創建圖像文件,文件創建成功,圖像確實創建並可以顯示。我想要一個在下載圖像之前檢查文件是否仍在緩存或tmp目錄中的進程。如果圖像確實存在,那麼我想檢查文件的創建日期和修改日期屬性,以查看是否需要下載新版本的圖像以使其保持最新。這是問題出現的地方。nsfilemanager createFileAtPath導致NSFileCreationDate爲空

創建和修改日期屬性爲null。我甚至試圖手動設置屬性,但它沒有改變任何東西。

這是我用來創建該文件的代碼:

NSString *fileName = [NSHomeDirectory() stringByAppendingPathComponent: [NSString stringWithFormat:@"tmp/%@",theFileName]]; 
BOOL filecreationSuccess =[fileManager createFileAtPath:fileName contents:myData attributes:nil]; 
if(filecreationSuccess == NO){ 
    NSLog(@"Failed to create the file"); 
} 

我甚至曾嘗試添加代碼和文件的屬性仍然null

NSDate *now = [NSDate date]; 
NSDictionary *createDateAttr = [NSDictionary dictionaryWithObjectsAndKeys: now, NSFileCreationDate,nil]; 
NSDictionary *modDateAttr = [NSDictionary dictionaryWithObjectsAndKeys: now, NSFileModificationDate, nil]; 
[fileManager setAttributes:modDateAttr ofItemAtPath:fileName error:&err]; 
[fileManager setAttributes:createDateAttr ofItemAtPath:fileName error:&err]; 

我不確定什麼做下一步。任何幫助將不勝感激,謝謝。

+0

'屬性:nil' ... – trojanfoe

+0

@trojanfoe如何設置創建日期屬性?我找不到在'createFileAtPath'函數中設置的屬性的實例。 – shadonar

+0

我找到了我的問題。這並不是說修改和創建日期並未設置,而是我沒有獲得文件的正確屬性集。它最終是因爲我使用的代碼是獲取文件所在路徑的屬性,而不是文件本身。 @trojanfoe在默認情況下仍然會爲'attributes:nil'生成一個用於該文件的'NSDate',並將修改日期的初始值設置爲創建日期。 – shadonar

回答

0

我發現我的問題。這並不是說修改和創建日期並未設置,而是我沒有獲得文件的正確屬性集。它最終是因爲我使用的代碼是獲取文件所在路徑的屬性,而不是文件本身。