gpt4 book ai didi

ios - 如何从后台线程返回数据?

转载 作者:行者123 更新时间:2023-11-28 18:00:22 24 4
gpt4 key购买 nike

我有一个方法应该返回一个在后台线程中填充的数组。我想等待 return 语句,直到数组完全填充。我该怎么做?我知道如何处理没有返回类型的数据,但我想调用此函数并获取填充的数组。

示例(这里数组最终为空,因为它在填充数组之前返回 - 我想做一些事情来返回填充的数组):

-(NSArray*)fetchSomeArray{

__block NSArray *arrayToReturn;

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,(unsigned long)NULL), ^(void) {

NSArray *someArray = ...; // getting some array from database
arrayToReturn = [NSMutableArray new];

for(int i=0;i<someArray.count;i++){

[arrayToReturn addObject:...];
}

});

return arrayToReturn;

}

最佳答案

使用委托(delegate),或者 block ,取出return arrayToReturn;。在你的“for”之后和“dispatch_async”里面:

dispatch_async(dispatch_get_main_queue(),^{
[myDelegate passComputedArray:arrayToReturn];
});

关于ios - 如何从后台线程返回数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15070568/

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