API流程阻止地图和交互

时间:2013-03-25 16:17:35

标签: ios objective-c multithreading

我正在构建iOS应用程序(6.0+),流程的工作原理如下:

  1. 触摸应用图标
  2. 应用程序开始加载,调出第一个视图(地图视图)
  3. 应用有位置后,通过http请求
  4. 从API获取相关信息
  5. 使用该数据填写一些地图注释
  6. 我发现在2点,应用程序会一直停止响应,直到4点结束。感觉就像是一个破碎的体验,就像应用程序已经冻结,直到它完成添加注释。

    如何解决这种阻止行为?我怀疑答案与我如何处理我的任务有关,但我不知道到底在哪里,或者它实际上是我应该解决的问题。

1 个答案:

答案 0 :(得分:1)

您应该使用asynchrone请求从服务器获取数据,否则应用程序将等待请求完成。

您可以使用NSURLConnection的以下类方法之一

connectionWithRequest:delegate:

sendAsynchronousRequest:queue:completionHandler:

或使用像AFNetworking

这样的框架