问一个关于线程的问题
我在AViewController中做网络请求,请求结束后需要刷新View中的一些控件.有时候请求比较慢,就会点返回按钮.
1.请求还没有回来,如何处理线程问题.
2.请求已经回来,正在做UI更新,如何处理线程问题.
线程 ui
[解决办法]
it's not about threads' problem
[解决办法]
使用异步任务(dispatch_async)吧,就像楼上说的,这主要不是线程的问题
[解决办法]
GCD相对好一些 异步加载数据,然后同步在主线程中刷新UI
[解决办法]
是的,楼上说的很对,你在线程中的任务是发送请求,无论这个请求是否请求成功,都应该使用县城嵌套来回到主线程中更新UI
[解决办法]
请求还没有回来,那就只管返回前一个界面。
请求回来正在刷新界面,点了按钮也要等刷新完界面(不用控制),才会返回前一界面。
用后台线程请求数据。
就怕,点返回按钮后界面销毁了,此时请求回来,以为界面还在,于是刷新。比如你可以在界面销毁时把请求的回调delegate置为0,在请求回来刷新界面时,判断delegate是0就不要刷新了。或者,界面dealloc时把某个label置为0,请求回来时先判断label是不是为0再决定是否刷新。