我想將字符串保存爲Settings.bundle Root.plist中的數組元素,並且能夠在後續啓動我的應用程序時從設置包中訪問這些字符串。我無法在任何地方找到一個很好的例子。在Xcode中,我創建了Root.plist,它看起來是這樣的:如何創建和訪問設置包中的數組元素
Key
iPhone Setting Schema
Strings Filename
Preference Items
Item 0 (Title- My Title)
Type Title
Title My Title
Identifier My Identifier
Values
Item 0 my string 1
Item 1 my string 2
Item 3 my string 3
這將產生XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>StringsTable</key>
<string>Root</string>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
<key>Title</key>
<string>My Title</string>
<key>Key</key>
<string>My Identifier</string>
<key>Values</key>
<array>
<string>my string 1</string>
<string>my string 2</string>
<string>my string 3</string>
</array>
</dict>
我使用下面的代碼試圖價值觀從訪問標識符鍵「我的標識符」:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *mystrings = [defaults arrayForKey:@"My Identifier"];
for (int i=0;i<3;i++) {
NSLog(@"%@", [mystrings objectAtIndex:i]);
}
在運行時,mystrings的值爲0。因此,「my string 1」,「my string 2」和「my string 3」的值不會被NSLog打印。
有人可以幫助我這個。另外,更新這些值的正確方法是什麼?你的問題的
感謝您的答覆,但遺憾的是,似乎並沒有工作。 mystrings的值仍然是0x0。另外,如果你有多個偏好項目,我不認爲這個建議會起作用,因爲關鍵的「值」不是唯一的。根據我迄今閱讀過的文檔的解釋,關鍵字「我的標識符」應該是我應該指定爲數據唯一鍵的那個。你可能走在正確的軌道上,但正如我所說,它沒有奏效。 – JeffB6688 2011-05-07 19:50:04
@傑夫:鑰匙是唯一的;這是一本字典。您可以使用任何您想要的作爲鍵,@「我的標識符」,@「值」,@「黃色斑馬」,但每個鍵只能有一個存在。你能澄清這個文件的位置嗎?我認爲這可能是你真正的問題。你指的是什麼文檔? – 2011-05-07 19:52:09
Root.plist是設置的一部分。捆綁在我的資源文件夾中。是的,我知道我需要指定一個唯一的密鑰。當我在xcode下的Root.plist文件中創建首選項時,xcode會自動創建4個鍵(類型,標題,標識符和默認值),其中新項目是「標題」項目。您可以將「默認值」鍵更改爲「值」鍵。當你這樣做,它會創建一個項目鍵(你可以繼續添加更多的項目)。對於Item鍵,您可以指定字符串值(例如「我的字符串1」)。我將繼續進行下一個評論(限制尺寸)。 – JeffB6688 2011-05-07 20:35:25