我试图从JSON内容(在我的data.swift文件中)获取一些数据并将其分配给" comments"。任何人都知道这里出了什么问题以及如何解决它?看起来像是一个我遇到问题的语法问题。
我得到的错误:
import UIKit
class CommentsTableViewController: UITableViewController {
var story = [String:AnyObject]()
var comments = [String:AnyObject]()
override func viewDidLoad() {
super.viewDidLoad()
comments = story["comments"]
tableView.estimatedRowHeight = 140
tableView.rowHeight = UITableViewAutomaticDimension
}
它不喜欢comments = story["comments"]
部分。
答案 0 :(得分:26)
您的代码中存在错误,但由于Swift编译器错误,您看到的错误消息不正确且具有误导性。实际的错误消息应为:AnyObject is not convertible to [String:AnyObject]
。
self.story["comments"]
会返回AnyObject
。要将该值分配给self.comments
,您必须首先将AnyObject
类型转换为字典类型[String:AnyObject]
。
例如:
self.comments = self.story["comments"] as! [String:AnyObject]
答案 1 :(得分:0)
根据您自己的声明,SELECT *
FROM Users
WHERE City IN ('fe4e2e2c-8638-4081-b6de-e10252e638e7', 'fess2c-8638-4rgf-b6de-e102sdf3447');
是story
。这意味着[String:AnyObject]
是一个AnyObject。但story["comments"]
是comments
,不是是AnyObject。您无法指定期望[String:AnyObject]
的AnyObject。