2013-12-10 36 views
0

你好我不能保存本地我必須保存一個字符串數組,我補充說,這個數組必須保存關閉應用程序的iOS和重新開放需要充電,我發現在線數以千計的指南,但沒有一個是非常具體的,有人說使用NSUserDefaults別人說使用NSCoding,但在這兩種情況下,我無法充值這些數據任何人都可以幫助我嗎?NsmutableArray沒有成功保存在應用程序關閉

回答

2

保存小數據 - NSUserDefaults,NSCoding或其他人建議的或保存在plist中,或者在文檔目錄中創建文件並在該文件中寫入數組的內容。

大數據 - 使用sqlite或核心數據將其保存在數據庫中。

選擇取決於應用程序的要求,因爲您沒有給出數據的詳細信息,如數組中的最大字符串數量,所有人都可以建議您而不是告訴解決方案。希望它能幫助:)

1

你可以使用NSUserDefaults的:

[[NSUserDefaults standardUserDefaults] setObject:yourMutableArray forKey:@"Key"]; 

從NSMutableArray中獲得的價值:

NSMutableArray *array = [NSMutableArray arrayWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"Key"]]; 

希望這是有幫助的。

0

我試圖做的,你說的一切,問題是,我在法

AppDelegate applicationDidFinishLaunching: (UIApplication *) application 

Conf = [NSUserDefaults standardUserDefaults]; 
Conferme = [NSMutableArray arrayWithArray:[Conf objectForKey:@"Conferme"]]; 

applicationWillTerminate:(UIApplication *)application我插入

[Conf setObject:Conferme forKey:@"Conferme"]; 

但當我重新加載應用程序NsMutableArray說我有這個錯誤

由於未捕獲的異常終止應用程序 'NSInvalidArgumentException' 的,理由是: '* - [__ NSArrayM insertObject:atIndex:]:對象不能是零'

+0

這意味着對於Conferme對象是什麼 - 檢查你的數組值。 – GuybrushThreepwood

+0

應用程序中的值保留在數組中,只有當我關閉應用程序然後重新打開它時,問題纔會出現,那是在打開數組內的值之後,沒有更多 – Filippo

相關問題