Ich habe diese Frage ein paar Mal geschrieben, aber immer noch keine Lösung gefunden. Ich bin ein Parse mit gehosteten sdk @ back4app.comLong-Running-Operation wird auf Haupt-Thread ausgeführt
Empfang dieser Fehler:
Warnung: Eine lang andauernde Operation an der Haupt Thread ausgeführt wird. Break on warnBlockingOperationOnMainThread() zu debuggen.
In meiner home.swift Datei ist der Code:
func queryPosts(text:String) {
showHUD()
let query = PFQuery(className: POSTS_CLASS_NAME)
if text != "" {
let keywords = text.componentsSeparatedByString(" ") as [String]
query.whereKey(POSTS_QUOTE, containsString: "\(keywords[0])")
}
query.orderByDescending("createdAt")
query.findObjectsInBackgroundWithBlock { (objects: [PFObject]?, error:NSError?)-> Void in
if error == nil {
self.postsArray = objects!
self.postsTableView.reloadData()
self.hideHUD()
} else {
self.simpleAlert("\(error!.localizedDescription)")
self.hideHUD()
}}
}
-
Die Daten geladen wird, und die App nicht abstürzt, aber der Fehler mich verrückt fährt. Ich bemerkte auch, dass es eine leichte Verzögerung gibt, wenn ich manchmal sogar für ein oder zwei Sekunden scrolle. Wenn jemand helfen kann, wird das großartig, danke.
Sie müssen den Laden außerhalb der Haupt-Warteschlange zu tun, und wenn es fertig ist die Benutzeroberfläche von der Haupt Warteschlange zu aktualisieren. – DMH
Was ist Ihre Frage? Möchten Sie wissen, wie eine Aufgabe im Hintergrund-Thread ausgeführt wird? – Feroz
@feroz Tut mir leid, ich war nicht klar genug, meine Frage ist wirklich jede Art, die meinen Fehler stoppen wird, ich lese hier, um PFObject zu AnyObject zu ändern, und das hat nicht funktioniert, also ja, wie kann ich es auf einem Hintergrundthread ausführen ? Ich kann das versuchen. – OnlyDanWilliams