2012-04-13 3 views
1

, похоже, не может найти кого-либо еще с этой проблемой, поэтому здесь идет. Я создаю свой UIImagepickerview такUIImagePickerController crashing после удаления фотографии

UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
[picker setContentSizeForViewInPopover:CGSizeMake(250.0f, 450.0f)]; 
picker.delegate = self; 
picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; 
[EditChoicePopoverController setContentViewController:picker animated:YES]; 

[picker release]; 

Первый раз, когда я его создаю, он отлично работает. Я могу захватить изображения и делать то, что мне нравится с ними. Проблема возникает, когда я выхожу из своего приложения, загружаю свою библиотеку фотографий извне приложения и удаляю изображение. Затем, когда я открываю приложение с нуля и снова пытаюсь открыть UIImagepickerview, он падает с ошибкой.

Согласующий приложение из-за неперехваченного исключением 'NSRangeException', причина: '- [NSOrderedSet initWithOrderedSet: диапазон: copyItems]: Диапазон {3, 2} выходит за пределы [0 .. 3]'

Теперь я предполагаю, что это связано с таблицей/ожидаемыми значениями/фактическими значениями, но я не знаю, что делать. Кто-нибудь знает?

+0

Неважно, в каком состоянии было ваше приложение, когда оно зашло в фон? Я предполагаю, что удаление изображения сократит определенный массив, к которому ваше приложение пытается получить доступ. – Byte

+0

Как насчет того, чтобы вы уволили всплывающее окно viewDidDisappear? – aryaxt

+0

Я ничего не делаю в viewDidDisappear, я предположил, что imagepicker позаботится о себе. Должен ли я вызвать некоторую функцию, которая перезагружает массив или что-то еще? –

ответ

1

Попробуйте реализовать метод applicationDidEnterBackground: вашего делегата приложения и освободить каждый объект, сохраняющий ссылку на эти изображения.
Возможно, даже если вы покинули приложение, некоторые ссылки поддерживаются в памяти, чтобы ускорить загрузку при возобновлении приложения.

Смежные вопросы