2011-07-07 66 views
4

可能重複:
iOS: store two NSMutableArray in a .plist file保存NSMutableArray爲plist?

在我的工作我的應用程序有一堆包含一些字符串,日期和整數「註冊」的對象。 所有這些對象在創建時都存儲在NSMutableArray中,我現在想要保存該數組,以便當用戶關閉應用程序等時,可以在應用程序再次打開時存儲和恢復內容。

我讀過plist可能是這樣做的最好方法,但我似乎無法找到任何示例,帖子等顯示如何做到這一點?

非常基本:如何在應用程序關閉時將我的NSMutableArray保存到plist文件中,以及如何將其恢復一次?

+0

- 看看這個問題:iOS版:存儲兩個NSMutableArray在.plist文件](http://stackoverflow.com/questions/6070568/ios-store-two-nsmutablearray-in-a-plist-file) - 也許這也可以幫助:[保存到.plist適當性列表] [3] - Aaaand這:[以編程方式創建一個plist文件] [2] [2]:http://www.iphonedevsdk.com/forum/iphone-sdk-development/5823-save-plist-prop erity-list.html#post235567 [3]:http://stackoverflow.com/questions/2292347/creating-a-plist-file-programatically –

回答

12

NSMutableArray中有這樣一種方法,如果你知道確切位置,將其保存到:

//Writing to file 
if(![array writeToFile:path atomically:NO]) { 
    NSLog(@"Array wasn't saved properly"); 
}; 

//Reading from File 
NSArray *array; 
array = [NSArray arrayWithContentsOfFile:path]; 
if(!array) { 
    array = [[NSMutableArray alloc] init]; 
} else { 
    array = [[NSMutableArray alloc] initWithArray:array]; 
}; 

或者你可以使用NSUserDefaults的:

​​
+1

對不起,我的代碼都搞砸了。 SO沒有顯示格式按鈕... – EmilioPelaez

+0

在NSUserDefaults中存儲數組時,請考慮以下文檔語句:「對於NSArray和NSDictionary對象,其內容必須是屬性列表對象」 – artkoenig

+0

我發現頂部方法不起作用。我確實嘗試將其保存爲.plist – Marcel