2011-03-21 26 views
0

訪問所有的價值我有一個非常簡單的root.plist文件看起來像這樣:導航到的相關設置頁面時iPhone:無法從文件的.plist

<?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>PSGroupSpecifier</string> 
      <key>Title</key> 
      <string>User Info</string> 
     </dict> 
     <dict> 
      <key>Type</key> 
      <string>PSTextFieldSpecifier</string> 
      <key>Title</key> 
      <string>Username</string> 
      <key>Key</key> 
      <string>username_preference</string> 
      <key>DefaultValue</key> 
      <string></string> 
      <key>IsSecure</key> 
      <false/> 
      <key>KeyboardType</key> 
      <string>Alphabet</string> 
      <key>AutocapitalizationType</key> 
      <string>None</string> 
      <key>AutocorrectionType</key> 
      <string>No</string> 
     </dict> 
     <dict> 
      <key>Type</key> 
      <string>PSTextFieldSpecifier</string> 
      <key>Title</key> 
      <string>Password</string> 
      <key>Key</key> 
      <string>password_preference</string> 
      <key>DefaultValue</key> 
      <string></string> 
      <key>IsSecure</key> 
      <true/> 
      <key>KeyboardType</key> 
      <string>Alphabet</string> 
      <key>AutocapitalizationType</key> 
      <string>None</string> 
      <key>AutocorrectionType</key> 
      <string>No</string> 
     </dict> 
     <dict> 
      <key>Type</key> 
      <string>PSGroupSpecifier</string> 
      <key>Title</key> 
      <string>Application Info</string> 
     </dict> 
     <dict> 
      <key>Type</key> 
      <string>PSTitleValueSpecifier</string> 
      <key>Title</key> 
      <string>Version</string> 
      <key>Key</key> 
      <string>api_version_preference</string> 
      <key>DefaultValue</key> 
      <string>2.0</string> 
      <key>Value</key> 
      <string>2.0</string> 
     </dict> 
    </array> 
</dict> 
</plist> 

所有字段顯示iPhone的設置應用程序,但我不能從我的應用程序訪問api_version_preference。

我試圖打印出.plist文件作爲字典,我只看到來自用戶名/密碼字段的值,所以我可能做錯了什麼。以下是打印數據時使用的內容:

NSLog(@"defs: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]); 

任何人都可以幫忙嗎? :)

回答

1

你忘了提供默認NSUserDefaults。如果你沒有改變(即保存)NSUserDefaults不存儲設置。

創建默認值的NSDictionary中,並與[[NSUserDefaults standardUserDefaults] registerDefaults:userDefaultsDefaults];

這樣設置:

NSDictionary *userdefaultsDefaults = [NSDictionary dictionaryWithObjectsAndKeys: 
             @"2.0", @"api_version_preference", 
             nil]; 
[[NSUserDefaults standardUserDefaults] registerDefaults:userdefaultsDefaults]; 

所有你NSUserDefaults的從使用

+0

由於設置這樣做,這個固定的問題:) – Madoc 2011-03-21 11:36:11