从设置包中获取(默认)值

时间:2012-01-26 21:33:18

标签: objective-c xcode nsuserdefaults settings.bundle

我有一个IOS5项目。

我已将设置包添加到我的项目中,并为其添加了一些设置。

我设置'host_ip'的属性:

<dict>
        <key>AutocapitalizationType</key>
        <string>None</string>
        <key>AutocorrectionType</key>
        <string>No</string>
        <key>DefaultValue</key>
        <string>http://localhost</string>
        <key>IsSecure</key>
        <false/>
        <key>Key</key>
        <string>host_ip</string>
        <key>KeyboardType</key>
        <string>URL</string>
        <key>Title</key>
        <string>Host</string>
        <key>Type</key>
        <string>PSTextFieldSpecifier</string>
    </dict>

我尝试读取这样的值:

NSUserDefaults *userDefaults =[NSUserDefaults standardUserDefaults];
NSString *host = [userDefaults stringForKey:@"host_ip"];
NSLog(@"%@",host);

它不返回我在host_ip中设置的默认值,它返回nil。

如何获取默认值?

更新

用户编辑设置后,我可以通过上面的代码检索它。我的问题是获取设置值,如果它还没有被用户编辑。我认为在这种情况下它应该返回我在plist中设置的默认值。

1 个答案:

答案 0 :(得分:2)

您是否通过NSUserDefaults注册了默认设置?

请参阅the registerDefaults: method on NSUserDefaults.