针对某些场景下关于使用iOS UINavigation pop 时界面卡顿问题的解决?

1.针对某些场景下关于使用iOS UINavigation pop 时界面卡顿问题的解决?

有时会遇到UINavigationController popViewController的时候,会发现pop没有反应,等了大概6~8秒才有pop的效果,

1.分析原因

  • 自己是在一个回调里调用了UINavigationController系统的pop方法,出现上述卡顿。正常直接调用没有问题。
  • 难道是回调的问题,那什么原因会造成?
  • 通过断点发现,这个回调是的线程不是在主线程。
  • 难道是由于不在主线程pop viewController的原因,通过dispatch_async(dispatch_get_main_queue(), ^{}),果然丝滑的返回了。

2.问题解决

由于是不在主线程里pop时遇到问题,那就在主线程里进行pop的操作。


3.问题总结

这个问题是一个特别简单,但我们查找原因时却很容易忽略的一种场景。我一直以为在线程里不能刷新UI,有时候在线程一些操作也会遇到一些不可思议的问题。


你可能感兴趣的:(iOS开发)