0
我有一个pfquery tableview控制器,在我的pfquerytableviewcontroller中正在加载的类中有许多pfobjects。我有问题。当我刷新我的表格视图时,在调试器中出现此错误“警告:正在主线程上执行长时间运行的操作。 断开warnBlockingOperationOnMainThread()以进行调试。”当我尝试在桌面视图中滑动时,桌面视图会非常缓慢地滑动并滑动。我认为这是因为数据正在主线程中加载而发生的。这是我的代码。有人能告诉我我能做些什么来解决这两个问题。非常感激。谢谢主线程pfquerytableviewcontroller
class ProductTableViewController: PFQueryTableViewController{
override func queryForTable() -> PFQuery<PFObject> {
var query : PFQuery<PFObject>!
query = PFQuery(className: "Products")
query.includeKey("User")
query.limit = 25
query.skip = 25
query.order(byAscending: "createdAt")
}
override func viewDidLoad() {
super.viewDidLoad()
let nib = UINib(nibName: "ProductTableViewCell", bundle: nil)
tableView.register(nib, forCellReuseIdentifier: reuseIdentifier)
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath, object: PFObject?) -> PFTableViewCell? {
let cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier, for: indexPath as IndexPath) as! ProductTableViewCell
if let files : [PFFile] = object?["Images"] as? [PFFile] {
cell.ProductImage.file = files.first
cell.ProductImage.loadInBackground()
}
}
}
我曾经涉足Android。当开发人员将重要任务放在UI线程中时,移动操作系统框架会讨厌它。在Android中,我们实现AsynchTask在另一个线程上工作。让你免于挂断用户界面。我不知道这是什么混杂的Swift版本。 –
我迷失在我应该做的事情上。我不认为解析会为pfquerytableview控制器创建框架,并肯定会在主线程上出现操作和崩溃。有一种解决方案我还不知道。 – ahmed
试着看http://docs.parseplatform.org/ios/guide/ 我刚刚做了,他们在本指南中提到了PFQuery中提到的后台查询功能。 –