我使用Haneke框架从一个站点获取数据。使用Haneke,我还可以从站点获取图像,这些图像可以显示在UIImageView上。现在我想从一个网站上得到一些信息。
我就是这样做的:
cache.fetch(URL: URL).onSuccess { JSON in
println(JSON.dictionary?["index"])它把“索引”里的所有数据都打印出来了。
现在,我希望“索引”中的所有数据都应该显示在UITextView上。
self.textView.text = JSON.dictionary["index"]但不起作用。我知道错误:
无法将“AnyObject”类型的值分配给“String”类型的值!
我得拆开它还是?
发布于 2015-06-29 17:45:09
最后,输出JSON文本的所有记录。这个结构是一组字典。文本的格式非常简单(键和值之间有两个制表符)。
cache.fetch(URL: url).onSuccess { JSON in
if let index = JSON.dictionary?["index"] as? [Dictionary<String,String>] {
var resultString = ""
for anItem in index {
for (key, value) in anItem {
resultString += "\(key)\t\t\(value)\n"
}
resultString += "\n\n"
}
self.textView.text = resultString
}
}
}发布于 2015-06-28 14:41:06
编译器不知道字典项的类型。如果您知道它总是一个字符串,则从AnyObject强制向下转换到String
self.textView.text = JSON.dictionary["index"] as! String发布于 2015-06-28 15:08:14
正如我们已经发现的,JSON.dictionary["index"]是一个数组,这是一个安全的语法,假设数组只包含一个项
if let indexTextArray = JSON.dictionary?["index"] as? [String] {
if !indexTextArray.isEmpty {
self.textView.text = indexTextArray.first!
}
}https://stackoverflow.com/questions/31100935
复制相似问题