Arrays 未解析标识符错误

Arrays 未解析标识符错误,arrays,json,swift,class,swift2,Arrays,Json,Swift,Class,Swift2,我无法解决这个问题,我有一个名为row的变量,但swift没有看到它。错误为“使用未解析标识符”行 未解决的标识符是您的小问题。此代码将永远不会返回预期值。 不能在numberOfRowsInSection中使用异步方法 将用于检索数据的代码放入viewdiload中,并在numberOfRowsInSection中返回文章数 并使用Swift本机集合类型 var posts = [[String:AnyObject]]() override func viewDidLoad() { s

我无法解决这个问题,我有一个名为row的变量,但swift没有看到它。错误为“使用未解析标识符”行

未解决的标识符是您的小问题。此代码将永远不会返回预期值。
不能在
numberOfRowsInSection
中使用异步方法

将用于检索数据的代码放入
viewdiload
中,并在
numberOfRowsInSection
中返回文章数

并使用Swift本机集合类型

var posts = [[String:AnyObject]]()

override func viewDidLoad() {
   super.viewDidLoad()

    let url = NSURL(string: "http://www.mertbarutcuoglu.com/?json=get_posts")!
    let task = NSURLSession.sharedSession().dataTaskWithURL(url) { (data, response, error) -> Void in
        if error == nil {
            do {
                let jSonData = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as! [String:AnyObject]
                posts =  jSonData["posts"] as! [[String:AnyObject]]
                self.tableView.reloadData()                  
            } catch let error as NSError{
              print(error)
            }
        } else {
            print("NSURLSession error:", error!)
        }
    }
    task.resume()
}


override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return posts.count
}
未解决的标识符是您的小问题。此代码将永远不会返回预期值。
不能在
numberOfRowsInSection
中使用异步方法

将用于检索数据的代码放入
viewdiload
中,并在
numberOfRowsInSection
中返回文章数

并使用Swift本机集合类型

var posts = [[String:AnyObject]]()

override func viewDidLoad() {
   super.viewDidLoad()

    let url = NSURL(string: "http://www.mertbarutcuoglu.com/?json=get_posts")!
    let task = NSURLSession.sharedSession().dataTaskWithURL(url) { (data, response, error) -> Void in
        if error == nil {
            do {
                let jSonData = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as! [String:AnyObject]
                posts =  jSonData["posts"] as! [[String:AnyObject]]
                self.tableView.reloadData()                  
            } catch let error as NSError{
              print(error)
            }
        } else {
            print("NSURLSession error:", error!)
        }
    }
    task.resume()
}


override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return posts.count
}

顺便说一句,您可以使用
guard let urlContent=data else{/*handle else case*/}
BTW保存一些缩进,您可以使用
guard let urlContent=data else{/*handle else case*/}