我正在使用异步操作(使用解析SDK) 我创建了一个这样的函数:
SymPy 0.7.7dev
问题是在控制台中我得到一条消息:
let result = try query.fromLocalDatastore().findObjects()
return result
我认为这是一个糟糕的设计,我正在寻找解决方案。
我用Warning: A long-running operation is being executed on the main thread.
Break on warnBlockingOperationOnMainThread() to debug.
更改了findObjects
,但问题是异步性质,所以我从来没有从函数中得到结果(实际上它总是迟到:))。
我的问题是:
有没有办法运行此代码,但要避免在控制台中发出警告?
我是对的,这是在函数中编写这段代码的坏方法,其中另一种方法是在我调用函数的地方编写函数代码,使其异步并且松散代码重用的好处?
答案 0 :(得分:0)
试图;
let result = query.fromLocalDatastore().findObjectsInBackgroundWithBlock {
(results: [PFObject]?, error: NSError?) -> Void in
if error == nil {
// results will contain users with a hometown team with a winning record
}