Проблема со свойством SwiftyJSON

Я работаю с SwiftyJSON, и это здорово. Однако у меня возникла проблема с сохранением результата JSON(data:) в свойстве в моем viewController. Стандартное использование SwiftyJSON работает нормально.

let json = JSON(data: data)
let name = json[1]["name"].string

Моя проблема возникает, когда я пытаюсь создать свойство для хранения результата JSON (data:)

// Property    
var jsonData : JSON?

    someMethod()
    {
        let json = JSON(data: data)
        self.jsonData = json
        if let name = self.jsonData[1]["name"].string
        {
              print(name)
        }
    }

Когда я это делаю, я получаю сообщение об ошибке в следующей строке.

 if let name = self.jsonData[1]["name"].string

Не удается найти член "строка"

Кто-нибудь знает, почему это так?


person jonthornham    schedule 23.06.2015    source источник
comment
Я не уверен, почему это было отмечено. Если вы отметите это, пожалуйста, дайте мне знать, почему, чтобы я мог делать более качественные сообщения в будущем.   -  person jonthornham    schedule 23.06.2015


Ответы (1)


Вы используете необязательное свойство.

вар jsonData: JSON?

просто используйте

if let name = self.jsonData?[1]["name"].string

на месте

if let name = self.jsonData[1]["name"].string

в вашем случае компилятор пытается найти свойство, которое может быть нулевым.

person amit Sharma    schedule 23.06.2015
comment
Блестящий. Спасибо. Это исправило это. - person jonthornham; 23.06.2015