问一个关于线程的问题

猿创日记 2013-08-30 11:25:39
我在AViewController中做网络请求,请求结束后需要刷新View中的一些控件.有时候请求比较慢,就会点返回按钮.

1.请求还没有回来,如何处理线程问题.
2.请求已经回来,正在做UI更新,如何处理线程问题.
...全文
283 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluesky_03 2013-09-06
  • 打赏
  • 举报
回复
请求还没有回来,那就只管返回前一个界面。 请求回来正在刷新界面,点了按钮也要等刷新完界面(不用控制),才会返回前一界面。 用后台线程请求数据。 就怕,点返回按钮后界面销毁了,此时请求回来,以为界面还在,于是刷新。比如你可以在界面销毁时把请求的回调delegate置为0,在请求回来刷新界面时,判断delegate是0就不要刷新了。或者,界面dealloc时把某个label置为0,请求回来时先判断label是不是为0再决定是否刷新。
张金海 2013-09-04
  • 打赏
  • 举报
回复
是的,楼上说的很对,你在线程中的任务是发送请求,无论这个请求是否请求成功,都应该使用县城嵌套来回到主线程中更新UI
RannieR 2013-09-01
  • 打赏
  • 举报
回复
GCD相对好一些 异步加载数据,然后同步在主线程中刷新UI
宇仔TuT 2013-08-31
  • 打赏
  • 举报
回复
it's not about threads' problem
LichKingSZ 2013-08-31
  • 打赏
  • 举报
回复
使用异步任务(dispatch_async)吧,就像楼上说的,这主要不是线程的问题

29,049

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧