如何在两个屏幕之间显示加载微调器

时间:2014-04-28 11:51:06

标签: ios ios7 uitableview afnetworking rubymotion

我有两个UITableViewControllers的应用。单击第一个表视图中的单元格从服务器获取数据,然后将用户带到第二个表视图。

当用户点击时,我从服务器加载数据,然后显示第二个表视图。因此,在从服务器加载数据之后,存在一小部分时滞。

我会立即显示" loading"用户单击第一个表控制器中的单元格并使用" loading"从服务器获取数据时,微调器消失。

这就是我目前正在做的事情:

Class FirstController < UITableViewController
...
  def tableView(tableView, didSelectRowAtIndexPath:indexPath)
    initAFNetworkingClient
    Colors.fetch(AFMotion::Client, self.data[indexPath.row]["id"]) do |data|
      self.navigationController.pushViewController(SecondController.alloc.initWithData(data, self.data[indexPath.row]), animated:true)
    end
  end
...
end

1 个答案:

答案 0 :(得分:0)

  1. 异步获取数据
  2. 提取开始后立即启动微调器。 MDProgressHUD是一个很好的图书馆。
  3. 提取完成后停止微调器。
  4. 确保在主线程中进行UI更改。

            dispatch_async(dispatch_get_main_queue(), ^{
                // main thread tasks here
            }