Arrays 未解析标识符错误
我无法解决这个问题,我有一个名为row的变量,但swift没有看到它。错误为“使用未解析标识符”行 未解决的标识符是您的小问题。此代码将永远不会返回预期值。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
不能在
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*/}