2014-11-21 5 views
1

У меня есть UITableview. Когда выбран ряд, появляется сообщение UIActionSheet. Чтобы добавить UIActionSheet яПриложения для приложений iOS на UIActionSheet

[actionSheet showFromRect:cell.bounds inView:cell animated:NO]; 

Все работает отлично, я могу выбирать элементы в UIActionView, я могу нажать снаружи, и он исчезает. НО, когда он исчезает (от выстукивания снаружи или выбора элемента), и я быстро нажимаю что-то еще, например. фон, приложение падает с следующим сообщением:

-[UIActionSheet _dismissForTappedIndex:]: message sent to deallocated instance 0x173796d0 

Я предполагаю, что приложение weants отклонить лист, но он был освобожден раньше? Спасибо за любую помощь.

+0

Вы строите для iOS8, используя Xcode 6? Какой метод делегата вы вызываете? Используете ли вы метод clickedButtonAtIndex? –

+0

Да, я. Я пробовал ** willDismissWithButtonIndex ** и ** didDismissWithButtonIndex **, без успеха. – Sven

ответ

0

Попробуйте сохранить ссылку на лист UIActionSheet. Сделайте это, например, собственностью. Эта ошибка означает, что ARC освобождает объект слишком быстро. И если ошибка перестает происходить, то проблема.

+0

Большое спасибо ... это было решением. – Sven

0

Если вы используете метод делегата 'clickedButtonAtIndex', чтобы поймать кран, под iOS8 я тоже столкнулся с сбоем, хотя он был исправлен при изменении на didDismissButtonAtIndex.

У меня был аналогичный сбой с UIAlertView, так что это также может быть в случае с UIActionSheet.

Под iOS8, пожалуйста, измените ваш метод делегата clickedButtonAtIndex к didDismissWithButtonIndex

изменить эту строку

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{ 

с этим

- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex (NSInteger)buttonIndex { 

Вы должны найти это решит аварии.

Надеюсь, это поможет.

+0

Вопрос о 'UIActionSheet', а не' UIAlertView'. – rmaddy

+0

@rmaddy Извините, моя ошибка, прочитайте слишком быстро. Я проверю это и уточню ответ –

+0

Спасибо, но ни ** willDismissWithButtonIndex **, ни ** didDismissWithButtonIndex ** не успешны :-(. – Sven

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