Мое приложение отказывает когда мой UITableView
выпущен при анимации. Приложение функционирует без проблемы, пока анимация завершается. Ниже результат касания на UIButton
который звонит [tableView setContentOffset:offset animated:YES];
и затем молния быстрое касание на backBarButtonItem
который появляется UITableViewController
:
#0 0x31ec3ebc in objc_msgSend
#1 0x33690248 in -[UIScrollView(UIScrollViewInternal) _scrollViewAnimationEnded]
#2 0x30defa14 in -[NSObject performSelector:withObject:]
#3 0x33690098 in -[UIAnimator stopAnimation:]
#4 0x3368fb7c in -[UIAnimator(Static) _advance:]
...
Я никогда не видел катастрофического отказа на _scrollViewAnimationEnded
и по-видимому ни у одного нет Google. Я попытался звонить [tableView setContentOffset:offset animated:NO];
от UITableViewController
- (void)viewWillDisappear:(BOOL)animated
метод, но это не решило проблему.
Любые идеи для остановки a UITableView
или UIScrollView
посреди анимации?
Похоже, это проблема делегата. Есть ли у вас делегат для таблицы, и если да, то освобождается ли он, когда таблица отключена? Попробуйте обнулить делегата tableView перед его освобождением.
[TableView сохраняется CoreAnimation во время анимации, так что, вероятно, проблема не в этом.]
Я думаю, проблема в том, что вы выпускаете массив источника данных, прежде чем вы освободите tableView. попробуйте проверить это тоже в dealloc