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中提到的後臺查詢功能。 –