Как получить пользовательские настройки в iOS? [Xcode 7 + Swift 2]
Я использую 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>
Затем я пытаюсь:
- Прочитайте значение по умолчанию ("Текст")
- Измените текстовое поле в настройках iOS, а затем прочитайте новый
String
,
Я использовал эти две строки кода:
let settings = NSUserDefaults.standardUserDefaults()
let setting_value = settings.stringForKey("key")! as String
но все, что я получаю, это эта ошибка, и приложение не будет продолжать:
fatal error: unexpectedly found nil while unwrapping an Optional value
все, что я хочу, это прочитать настройки и отобразить String
на этикетку.
Благодарю.
РЕДАКТИРОВАТЬ: Я понимаю теперь, что ошибка в том, что значение еще не назначено. чтобы предотвратить ошибку, я поставил "если" раньше:
if let name = settings.stringForKey("key") {
print(name)
}
но как я могу на самом деле прочитать значение внутри "ключа"?