我的应用程序完成最多。当我在模拟器上运行应用程序时,它工作正常,但是当我在设备上运行一段时间后,调试器显示消息为“程序接收信号0”。我测试了应用程序仪器的帮助泄漏它显示泄漏。但我无法确切地知道泄漏的位置.Am释放分配的每个物体。 例如,我提供的代码很少:
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary])
{
UIImagePickerController *picker=[[UIImagePickerController alloc] init];
picker.delegate=self;
picker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];
[picker release];
// NSFileHandle *fileHandle = [[NSFileHandle alloc]initWithFileDescript
}
在上面的代码中,泄漏显示在UIImagePickerController * picker = [[UIImagePickerController alloc] init];但我正在释放它。 有人可以向我提供有关泄漏的详细信息以及如何解决这些问题。提前谢谢。
答案 0 :(得分:0)
在这行代码中:
[self presentModalViewController:picker animated:YES];
self (父控制器)实际上保留了您的选择器,并且在父控制器明确解除它之前不会释放它。只要您的父控制器在您的代码中的某个位置解雇此选择器,您就可以了。