gpt4 book ai didi

swift - 如何在必须返回某个值的函数中实现异步任务?

转载 作者:行者123 更新时间:2023-11-30 13:54:18 26 4
gpt4 key购买 nike

我正在使用异步操作(使用parse SDK)。
我创建了一个这样的函数:

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.

因为我认为这是糟糕的设计,所以我正在寻找解决方案。
我用 findObjectsWithBlock 更改了 findObjects 但问题是异步性质,所以我永远不会从函数中返回结果(实际上它总是迟到:))。
我的问题是:

有没有办法运行此代码但避免在控制台中发出警告?

我是否正确,这是在函数中编写此代码的糟糕方法,另一种方法是在调用函数的地方从函数编写代码,使其异步并失去代码重用的好处?

最佳答案

尝试;

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
}

关于swift - 如何在必须返回某个值的函数中实现异步任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33842565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com