gpt4 book ai didi

objective-c - 在 iOS 中实现 HTTP post/Get 的正确方法

转载 作者:行者123 更新时间:2023-11-29 11:05:14 25 4
gpt4 key购买 nike

我是 iOS 的新手,正在尝试实现 HTTP post/Get 通信的最佳方式。

问题:

我想进行多个 api 调用,每个调用都会有其单独的响应。我正在尝试编写通用网络实用程序,理想情况下它将采用 api url,进行调用并将数据返回给调用者。实现它的正确方法是什么?我发现每种方法都有中等程度的辩论和粉丝。

选项 1:

 dispatch_async(aQueue,^{
...[ make a sync network request get data back]
--- perform operation on data
--- then pass proceed data UI or set it in model.

dispatch_async(dispatch_get_main_queue()
}

选项 2:

 -(NSString *) postData:(NSDictionary *)data serverUrl:(NSString *)targetUrl
-- call post data method with seperate delegate for each caller
-- start async request
-- on DidFinishedLaunching or OnError check delegate & then
return response back to callback

感谢您的投入。

最佳答案

我认为你的第一个选择不好。它将长时间阻塞池线程,这是不可取的。在任何环境中实现多线程时,系统提供的线程池不应用于长时间运行的进程。不建议第二次同步网络调用,它有其自身的缺陷。

您的第二个选择更可行。您可以做的一项改进是执行完成启动到 GCD 线程中发生的工作,并在处理后在主线程上发送数据

关于objective-c - 在 iOS 中实现 HTTP post/Get 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13941983/

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