gpt4 book ai didi

ios - 当我尝试使用它的响应时,异步 http 调用还没有准备好

转载 作者:行者123 更新时间:2023-11-28 18:19:27 25 4
gpt4 key购买 nike

我的应用程序从网络服务器获取一些项目,如下所示:

for (photo in photoList) {
NSArray *comment = [self fetchCommentsFromServer:photo.photoId];
[photo setComment:comment];
}

fetchCommentFromServer 使用 dispatch_async 进行异步 http 调用。

dispatch_queue_t queue = dispatch_queue_create("autantication_queue", 0);
dispatch_async( queue, ^{

[manager POST:url parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {

if (success) {
success(responseObject);
}

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (failure) {
failure(error);
}

}
];
});

当我尝试将其附加到照片时,由于评论尚未准备好而出错。我如何保证评论附加到照片时准备就绪?

我尝试使用信号量,但调用速度太慢。

最佳答案

fetchCommentsFromServer 需要一个完成 block 。这可以在网络调用完成时执行。或者,您可以在获取完成后处理每张照片,作为网络调用完成 block 的一部分。

当您想要处理结果时,您可以保证网络抓取完成的唯一方法是在网络抓取完成之前不要尝试做任何工作。这几乎就是所有这些完成 block 和委托(delegate)方法的要点。

关于ios - 当我尝试使用它的响应时,异步 http 调用还没有准备好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23316562/

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