2015-09-15 2 views
1

Я пытался проверить, является ли переменная типа любой объект (может быть строкой, массивом или словарем) нулевой или нет в быстрой, но не может найти правильный путь. Я googled и использовал много синтаксисов, но никто из них не работал. Мое приложение вылетает, когда в этой переменной нет значения.Swift: Как проверить, нет ли AnyObject или нет?

Может кто-то пролить свет на эту проблему?

Лучший

+0

Не могли бы вы показать код, в котором делается ваша декларация переменной? – avismara

ответ

4

Если это переменная/постоянная типа AnyObject, она не может быть nil по определению (только дополнительные типы могут быть nil). Что может быть nil что-то типа AnyObject? (необязательный), и проверить, так же, как это:

// (optionalVariable is of type AnyObject?) 

if let actualVariable = optionalVariable { 
    // it is non-nil, and its value is stored in actualVariable 
    // (type: AnyObject, non-optional). 
    // use it. 
} 
else{ 
    // it is nil 
} 
+0

Вам необходимо адаптировать образец кода ниже, чтобы сразу проверить ваши три переменные ('gender',' race' и 'ethnicity'). Если вы не используете Swift 2, вы, вероятно, застряли в Pyramid of Doom: http://blog.scottlogic.com/2014/12/08/swift-optional-pyramids-of-doom.html –

Смежные вопросы