SwiftyJSON 属性 麻烦

SwiftyJSON Property Trouble

我正在使用 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

Cannot find member 'string'

有人知道这是为什么吗?

您正在使用可选 属性。

var jsonData : JSON?

只需使用

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

代替

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

在你的例子中,编译器试图找到一个 属性,它可以是一个 nil。