2016-09-06 2 views
0

У меня очень странная проблема. Ниже я покажу вам код, который дает мне проблемы. Эта часть if defaults == "" { по какой-то причине дает мне эту ошибку: fatal error: unexpectedly found nil while unwrapping an Optional value. Я не понимаю, почему. Позвольте мне показать вам больше моего кода, чтобы лучше понять:Проблемы с локально сохраненными данными

var defaults = NSUserDefaults.standardUserDefaults() 


@IBAction func nextThing(sender: AnyObject) { 
    helloName = nameInput.text! 
    helloSurname = surnameInput.text! 

    if defaults == "" { // This is where the error is, found out using breakpoint` 

Странная вещь, что этот код работал, прежде чем я добавил Firebase в мой код?

Надеюсь, вы можете мне помочь, поскольку это действительно расстраивает.

+0

добавить свой код firebase .. и что такое 'defaults' – triandicAnt

+0

var defaults находится прямо над частью кода. Я не знаю, почему это не будет в теге кода. Я пока не использую код firebase, я просто добавил firebase в свой проект, и я подумал, не связано ли это с этим? –

+1

NSUserDefaults - это не строка, поэтому вы получаете сообщение об ошибке. Если вы проверяете, существует ли ключ, вы должны делать defaults.objectForKey («YourKey») == nil. Или, если вы знаете, что ключ содержит строку, вы можете сделать «» вместо nil. –

ответ

1
var defaults = NSUserDefaults.standardUserDefaults() 

Если вы хотите проверить, если ключ существует:

defaults.objectForKey("YourKey") == nil 

Если вы знаете тип, что ключ содержит, вы можете проверить с объектом этого типа, например, Строка:

defaults.objectForKey("YourKey") == "" 
Смежные вопросы