Res*_*h32 20 uikit ios xcode4 lldb
注意:这个问题与从后台线程调用UIKit的警告有关,但没有给出下面两种方法的答案.
我有一个问题,应用程序屏幕快速闪烁.我过去已经遇到过这个问题,这是因为更新了主线程之外的UI元素.
因此,我将以下代码放在很多地方:
assertMainThread();
Run Code Online (Sandbox Code Playgroud)
这是:
#define assertMainThread() NSAssert([NSThread isMainThread],@"Method called using a thread other than main!")
Run Code Online (Sandbox Code Playgroud)
当然我无法使用assertMainThread()来覆盖整个代码,因为有很多地方和一些代码由背景GCD队列以合法的方式使用.
我看了很多地方,但找不到XCode或LLDB告诉我何时在主线程之外更新UI元素的方法.我认为可以使用符号断点或其他一些机制来破解UIKit中常见方法在主线程外部调用的地方,但是找不到方法.
我还以为UIKit可以在运行时发出警告吗?或者至少给我们一些工具来帮助调试这些问题.
我看过的另一种方法(但没有尝试)是使用一些代码覆盖技术,并尝试在视觉中提取代码中的哪个线程,但没有走那条路.
你对如何解决这个问题有任何想法吗?
归档时间: |
|
查看次数: |
5867 次 |
最近记录: |