Это хорошо известный фрагмент, как выбрать картинку из библиотеки фотографий iPhone:
- (IBAction)selectExistingPicture { if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; [self presentModalViewController:picker animated:YES]; [picker release]; } }
Здесь вы можете увидеть скриншот инструментов ( в полноэкранном режиме ).
альтернативный текст http://img.skitch.com/20090624-rtqp2mgsnyynkgb97c9e8d2g9c.jpg
Почему он протекает? Я не понимаю, потому что сборщик выпущен правильно, я думаю.
UIImagePickerController - это известная утечка . Если вы собираетесь использовать его более одного раза, рекомендуется повторно использовать один экземпляр
UIImagePickerController
Вы представляете средство выбора, но затем теряете указатель на него, когда выходите из метода. Как выделяется память, это ваша утечка. Попробуйте:
UIImagePickerController *picker = [[[UIImagePickerController alloc] init] autorelease];
Разве вы не должны делать авто-релиз на UIImagePickerController?
UIImagePickerController * picker = [[[UIImagePickerController alloc] init] autorelease];