UIKit和QuartzCore共享CALayer的EXC_BAD_ACCESS

时间:2012-12-20 16:54:25

标签: ios xcode exc-bad-access instruments nszombies

我正在尝试一个我无法解决的EXC_BAD_ACCESS错误,所以我在这里向您介绍希望得到一些帮助:)

通常情况下,我使用器械僵尸来解决这类错误,但这次看起来并不容易......

正如您在附图中看到的那样,我看起来没有与此对象的交互;它只由UIKit和QuartzCore保留/发布,所以我不知道在哪里寻找或做些什么来解决它。

任何提示?谢谢!

图片网址:http://i.stack.imgur.com/6R7f0.png enter image description here

2 个答案:

答案 0 :(得分:2)

既然你说你正在使用多线程,我很确定这是你的问题:

UIKit虽然自iOS4以来被宣传为线程安全,但并不完全是线程安全的。它对UIStringDrawing进行内部调用,这不是线程安全的,你最终会遇到这些崩溃。 看这里:UIStringDrawing methods don't seem to be thread safe in iOS 6

尝试在CATextLayer中绘制文字

答案 1 :(得分:0)

我有点好奇为什么以及如何使用共享的CALayer?根据我的经验,使用CALayers的性能并不昂贵,您是在两个视图之间共享CALayer还是什么?在这种情况下,我的建议和答案是不共享它,而是有两个CALayers。除非你有一个当然好的用例,但我想不到任何用例。

祝你好运!