swift中Parse函数的返回值



我想从swift的解析函数返回一个值,但我遇到了一个问题…当我尝试返回函数中的值时,我得到"无法将类型为'Int'的值转换为闭包结果类型'()'">

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
let query = PFQuery(className: "people")
query.countObjectsInBackground
{ (count, error) in

return Int(count)
}
}

您正在返回一个闭包,并且numberOfRowsInSection接受Int

我不太确定背后的逻辑是什么,但你可以做的是:

// declare this variable 
var numberOfSections:Int?
// then inside a function or viewDidLoad
let query = PFQuery(className: "people")
query.countObjectsInBackground
{ (count, error) in
self.numberOfSections = Int(count)
// finally you force the tableView to reload
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return numberOfSections ?? 0 
// maybe you want to return at least one section when 
//  you var is nil so can can change it to ?? 1
}

相关内容

  • 没有找到相关文章

最新更新