2012-10-13 91 views
0

我正在Xcode 4中創建一個需要保存一個NSString變量的iOS應用程序。有誰知道如果使用.plist文件是最好的方法,如果是這樣,你需要存儲什麼代碼並檢索NSString什麼是存儲NSString的最佳方式?

任何幫助將會很棒!

+0

你的最後一行傷害。 – 2012-10-13 06:13:13

+0

其實我在最後一行(oops)中引入了這個錯誤! –

回答

4

最好的地方將其存儲在NSUserDefaults

[[NSUserDefaults standardUserDefaults] setObject:@"My String" forKey:@"kMyStringKey"]; 

然後調用它:

lblMyLabel.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"kMyStringKey"]; 
+1

是的,我會這樣做。你打敗了我! :) –

+0

謝謝你堆!!!生病給了一個去(對不起4差的文法;) – Bastian2025

0

有存儲的NSString因爲需求各不相同的多種方式。在這種情況下,Plist是非常必要的(基於描述)。

選項A您可以使用:- [NSString writeToURL:atomically:encoding:error:]。在這種情況下,你只需要記住文件的URL和編碼你救了它

選項B另一選擇是通過NSCoding保存它 - 這允許NSString選擇序列化表示它找到最好,給定它表示的字符串。

+1

我很好奇你爲什麼不推薦'NSUserDefaults'在這裏。有關於此的任何信息? –

+0

@RobertKarl有兩個原因:a)OP中未指定值*屬於用戶默認值。因此,我認爲它不屬於那裏。 b)使用WrightCS的例子;這實際上是一種榮耀/持久的全球價值。假設與OP的需求相一致也是不安全的,因爲這個密鑰只能有一個值。因此,我不推薦'NSUserDefaults'作爲存儲任意'NSString'的「最佳方式」。 OP建議plist文件還建議文件更符合OP的用法。將挖掘一個點的鏈接... – justin

+1

@RobertKarl請參閱Peter Hosey關於何時使用以及何時不使用'NSUserDefaults'的解釋:http://stackoverflow.com/questions/5520797/when-not-to -abuse-nsuserdefaults – justin

相關問題