2013-08-19 134 views
0

我想寫一個NSArray到文件中。這是我使用的代碼NSSearchPathForDirectoriesInDomains獲取路徑

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"GraphData.txt"]; 

[myArray writeToFile:filePath atomically:YES];

我無法找到該文件所在的路徑,就是要保存,所以試圖檢索使用這段代碼文件返回NULL

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"GraphData.txt"];  
NSArray *myArray = [NSArray arrayWithContentsOfFile:filePath]; 
NSLog(@"FROM FILE::: %@ FROM FILE::", myArray); 

我想我需要在寫入前先創建一個文件它,但我不知道在哪裏。我可以爲例如手動路徑。我的桌面或文檔文件夾,並將數組寫入文件,但我想它不會工作,當我嘗試將其部署到真正的應用程序。所以,請幫助

回答

0

首先,你應該檢查,看看,如果你成功地通過寫出來你的數組:

BOOL success = [myArray writeToFile:filePath atomically:YES]; 
if(success == NO) 
{ 
    NSLog(@"did not write file to %@", filePath); 
} 

請記住,數組將只寫出來,如果數組的內容都屬性列表對象(例如「NSString」,「NSData」,「NSArray」或「NSDictionary」對象),否則您將通過「success」BOOL返回「NO」。

+0

我用這個檢查和BOOL變量返回YES。 –

+0

底部的NSLog行,其中有''FROM FILE :::'「的行,當你嘗試打印出」'[myArray description]'「時會發生什麼? –

+0

它顯示空..那就是我卡住的地方 –