Swift2 如何在iOS中检索用户设置?[Xcode 7&x2B;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

我使用的是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 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)
   }