我正在使用带有两个标签的TabBarController
。在第二个我调用NSOperation
时,将操作添加到NSOperationQueue
。当我选择第二个选项卡时,我在主线程上调用了此操作。但当我切换到第一个标签时,应用程序崩溃了。我正在释放并取消操作
我收到了关于bt的以下消息
#0 0x0243d09b in objc_msgSend ()
#1 0x1299c4a0 in ?? ()
#2 0x008b6d23 in -[__NSOperationInternal start] ()
#3 0x008b6a34 in -[NSOperation start] ()
#4 0x00943301 in __block_global_6 ()
#5 0x0222753f in _dispatch_call_block_and_release ()
#6 0x02239014 in _dispatch_client_callout ()
#7 0x0222a2e8 in _dispatch_root_queue_drain ()
#8 0x02229fcb in _dispatch_worker_thread3 ()
#9 0x99a16b24 in _pthread_wqthread ()
#10 0x99a186fe in start_wqthread ()
请建议任何解决方案
答案 0 :(得分:0)
确保确定NSOperationQueue的所有权。此外,请确保在切换选项卡时不会释放NSOperation所需的所有实例。
你能否展示正在进行实际工作的线程的堆栈跟踪?