1
keithellis 2015-03-18 09:41:20 +08:00
检查更新 UI 操作是否在主线程进行
|
2
ipconfiger 2015-03-18 09:57:31 +08:00
@keithellis 铁定是更新UI没有在主线程
dispatch_async(dispatch_get_main_queue(),{ if let data = response.responseObject as? NSData { ...... }); 如此这般即可 |
3
dorentus 2015-03-18 10:28:48 +08:00
不起作用应该是没在主线程调用,可以试试这样:
dispatch_async(dispatch_get_main_queue()) { self.city.text = "\(citytext)" } 崩溃的话就得看具体是什么错误了,常见的有例如 view 没加载,或者 outlet 没连接,导致 self.showWeather 还是 nil,然后就 EXC_BAD_ACCESS 闪退了 |
4
daiyuechuan OP @dorentus @ipconfiger @keithellis
非常感谢大家的回复,问题确实是对UI的操作没有跑在主线程,使用了 @ipconfiger 和 @dorentus 代码后均能解决问题。 闪退的问题也找到了,是由于没有对应好optional类型引起的,感谢 @dorentus |