iOS-NSConcreteData崩溃

iOS-NSConcreteData崩溃,ios,printing,crash,Ios,Printing,Crash,我有一个ui按钮,它链接到一些调用ui打印交互控制器打印PDF文档的代码 如果我点击按钮,会弹出视图,让我选择一台打印机,然后打印文档。但是,如果我点击视图外部以关闭弹出窗口,然后再次快速点击“打印”按钮,则会出现以下崩溃: [NSConcreteData respondsToSelector:]: message sent to deallocated instance 0xa4696d0 我已在启用NSZombies的情况下进行调试,崩溃发生在以下行: printController.pr

我有一个
ui按钮
,它链接到一些调用
ui打印交互控制器
打印PDF文档的代码

如果我点击按钮,会弹出视图,让我选择一台打印机,然后打印文档。但是,如果我点击视图外部以关闭弹出窗口,然后再次快速点击“打印”按钮,则会出现以下崩溃:

[NSConcreteData respondsToSelector:]: message sent to deallocated instance 0xa4696d0
我已在启用NSZombies的情况下进行调试,崩溃发生在以下行:

printController.printingItem = dataToPrint;
dataToPrint
以相同的方法实例化,但在此
printController
行之前:

NSData *dataToPrint = [NSData dataWithContentsOfFile:pdfFileName];
只有当我快速点击时才会发生崩溃,如果我给它一秒钟,一切都会顺利进行


有人知道这可能是什么吗?

让“DataTopPrint”成为一个强大的ivar,只有当你100%确定它不会被再次使用时才将其置为零。很可能是“printController.printingItem”保留了它,但当您关闭弹出窗口时,它会在再次点击“Print”按钮之前释放