#swift #swift3
#swift #swift3
Вопрос:
У меня возникла эта проблема, когда я попытался делегировать оценки от GameViewController
к ViewController
:
Он работает нормально, если я удаляю bestName
.
Комментарии:
1. Пожалуйста, скопируйте и вставьте код здесь, не публикуйте изображение кода.
Ответ №1:
При первом запуске вашего приложения в нем не будет значений UserDefaults
.
Это означает, что в viewDidLoad
вызове:
UserDefaults.standard.string(forKey:)
вернет nil
значение. Но вы присваиваете результат необязательной переменной.
Измените строку на:
if let name = UserDefaults.standard.string(forKey:"bestName") {
bestName = name
}
С вызовом нет проблем integer(forKey:)
, потому что он возвращается 0
, если нет существующего значения.