Я уверен, преобразованием старого проекта Swift 2 Свифтом 3. В предыдущей версии я зарегистрировал значение по умолчанию для неустановленного по умолчанию пользователя в AppDelegate
, как это:Регистрация типов множественного значения в UserDefaults с Swift 3
let defaults = NSUserDefaults.standardUserDefaults()
let defaultValues = [
"stringKey" : "",
"intKey" : 50
]
defaults.registerDefaults(defaultValues as! [String : AnyObject])
Xcode помогает преобразовать его, но Autoconvert в Xcode не работает из-за ошибки:
Heterogenous collection literal could only be inferred to '[String : Any]'; add explicit type annotation if this is intentional
авто правильно, наконец, сделал работу, но к тому времени я уже написал большую часть этого вопроса, поэтому я просто добавить ответ ниже, а не удаление вопрос. (Кроме того, авто конвертировать предложения были более многословны, чем ответ я обеспечиваю ниже.)
Примечание
- Here is an answer для регистрации одного типа в Swift 3.
- Я говорю о регистрации , не устанавливая несколько значений по умолчанию.