我在建立一个iOS应用(6.0以上版本)的过程中,流程是这样的:API过程阻断地图和互动
- 触摸应用程序图标
- 应用程序开始加载,带来向上第一视图(地图视图)
- 一旦应用程序有位置,通过http请求
- 使用该数据来填写一些地图注释得到它从一个API信息
我发现在2时,应用程序完全停止响应,直到4月底。它感觉像一个破碎的体验,并像应用程序已冻结,直到它完成添加注释。
我该如何解决这种阻塞行为?我怀疑这个答案与我如何编写我的任务有关,但我不知道在哪里寻找,或者实际上是我应该解决的问题。
我在建立一个iOS应用(6.0以上版本)的过程中,流程是这样的:API过程阻断地图和互动
我发现在2时,应用程序完全停止响应,直到4月底。它感觉像一个破碎的体验,并像应用程序已冻结,直到它完成添加注释。
我该如何解决这种阻塞行为?我怀疑这个答案与我如何编写我的任务有关,但我不知道在哪里寻找,或者实际上是我应该解决的问题。
您应该使用异步请求从服务器获取数据,否则应用程序将等待请求完成。
,你可以使用NSURLConnection的
以下类方法connectionWithRequest:delegate:
sendAsynchronousRequest:queue:completionHandler:
,或者使用一个框架像AFNetworking
如果你可以充实你的答案(可能使用实际的选择器名称),我很乐意为你提供绿色检查。 – dclowd9901 2013-03-25 16:31:21
我甚至添加了链接;) – peko 2013-03-25 16:43:16
你可能做在主线程联网。这是一个禁忌。使用像AFNetworking这样的框架来进行异步回调,或者使用NSURLConnection的'+ sendAsynchronousRequest:'方法。 – 2013-03-25 16:19:24
你是绝对正确的;我觉得很愚蠢。为什么他们甚至有一个同步URL请求选项? – dclowd9901 2013-03-25 16:30:33
这是一种支持方法。过去很难仅仅获取NSURLConnection返回的数据,所以他们添加了这样一个简单的方法。 – 2013-03-25 16:32:34