Swift2 如何在iOS中检索用户设置?[Xcode 7&x2B;Swift 2]
我使用的是Xcode 7+Swift 2 我在我的应用程序根目录中添加了一个Swift2 如何在iOS中检索用户设置?[Xcode 7&x2B;Swift 2],swift2,ios9,xcode7,settings.bundle,root.plist,Swift2,Ios9,Xcode7,Settings.bundle,Root.plist,我使用的是Xcode 7+Swift 2 我在我的应用程序根目录中添加了一个setting.bundle,其中只有一个文本字段 Root.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 versio
setting.bundle
,其中只有一个文本字段
Root.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>Controller Settings:</string>
</dict>
<dict>
<key>Type</key>
<string>PSTextFieldSpecifier</string>
<key>Title</key>
<string>Enter Text</string>
<key>Key</key>
<string>key</string>
<key>DefaultValue</key>
<string>Text</string>
<key>IsSecure</key>
<false/>
<key>KeyboardType</key>
<string>NumbersAndPunctuation</string>
<key>AutocapitalizationType</key>
<string>None</string>
<key>AutocorrectionType</key>
<string>No</string>
</dict>
</array>
</dict>
</plist>
但我得到的只是这个错误,应用程序将无法继续:
fatal error: unexpectedly found nil while unwrapping an Optional value
我只想读取设置并将字符串显示到标签上
谢谢
编辑:
我现在了解到错误是因为中的值尚未赋值。
为防止出现错误,我将“如果”放在以下位置之前:
if let name = settings.stringForKey("key") {
print(name)
}
但是我如何才能真正读取“key”中的值呢?可能的重复项您需要使用NSUserDefaults.registerDefaults()
在应用程序中设置“default defaults”。设置捆绑包中的root.plist
仅影响设置应用程序中发生的事情。因此,如果正确理解NSUserDefaults()
是默认值,而NSUserDefaults.standardUserDefaults()
是用户输入的设置?不完全正确。您可以使用registerDefaults
指定将在NSUserDefaults.standardUserDefaults
中看到的“默认值”,如果从未设置任何值。您总是使用NSUserDefaults.standardUserDefaults
读取应用程序中的值。好的,我相信这回答了我的问题。我不完全理解这一点,但我将尝试在Swift文档中了解这一点。您可能需要使用NSUserDefaults.registerDefaults()
在应用程序中设置“默认默认值”。设置捆绑包中的root.plist
仅影响设置应用程序中发生的事情。因此,如果正确理解NSUserDefaults()
是默认值,而NSUserDefaults.standardUserDefaults()
是用户输入的设置?不完全正确。您可以使用registerDefaults
指定将在NSUserDefaults.standardUserDefaults
中看到的“默认值”,如果从未设置任何值。您总是使用NSUserDefaults.standardUserDefaults
读取应用程序中的值。好的,我相信这回答了我的问题。我不完全理解这一点,但我将尝试在Swift文档中阅读这一点。
if let name = settings.stringForKey("key") {
print(name)
}