做一个登录功能,如果在请求API的部分用了异步(NSURLConnection sendAsynchronousRequest)的方法去请求,那么不管反不返回数据都会直接跳转回上一个界面。但是我想在验证登录的同时不阻塞主线程,又能执行一个spinner。然后再数据请求回来以后再继续,比如不通过就提示,通过就返回上一级这样的。(这部分完事了)
重点就是如何多线程,然后再判断结果前还能等待结果。
唐巧老师的书里在介绍GCD的时候提到一个高级用法
dispatch_group_t group = dispatch_group_create();
dispatch_group_async(group, dispatch_get_global_queue(0,0), ^{
// 并行执行的线程一
});
dispatch_group_async(group, dispatch_get_global_queue(0,0), ^{
// 并行执行的线程二
});
dispatch_group_notify(group, dispatch_get_global_queue(0,0), ^{
// 汇总结果
});
我觉得应该是这样来实现,但是还不太具体,还请各位指点。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.