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