2014-10-04 3 views
0

У меня есть приложение с следующей структуройНажмите на обычае кнопка назад от детальной страницы к предыдущему Tableview разваливается приложение (только iOS8)

Сначала я кнопка в моей домашней странице, когда я нажимаю, что он будет открыть новый UITableView и список отображения «Основные программы» Когда пользователь нажимает на кого-либо из них, открывается другой контроллер представления и отображает все «Подпрограммы» в этом пользователе, который может выбрать каждую подпрограмму для просмотра деталей.

Все они работают нормально до версий iOS 7. Недавно я обновил устройство до iOS 8 (iPad и iPhone), затем запустил один и тот же код, и когда мы вернемся с страницы «Детали подпрограммы» на страницу «Подпрограмма», приложение «Ошибка страницы». Нет сообщения журнала. Только что получаю это Пожалуйста, помогите, кнопка «Назад» работает нормально, но что-то в этом предыдущем контроллере Tableview не работает.

enter image description here

я попытался сделать приборы, то я получил следующее сообщение http://postimg.org/image/ytezux0m9/

Тогда я пытался отладить ее, но я не мог найти ничего плохого там (каждое значение было правильно), а затем я попытался добавить " TableView relaod данные»в ViewWillAppear() .И тогда я получил журнал сбоев, как этот

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UISearchDisplayController numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x124e6e7a0' 
*** First throw call stack: 
(0x1872ee084 0x1978d40e4 0x1872f5094 0x1872f1e48 0x1871f708c 0x18be51d38 0x18bb49480 0x18bb491f4 0x18bb4fe74 0x18ba6d140 0x18ba8e4c8 0x18ba6ce58 0x18ba6ce58 0x18ba8e4c8 0x18ba6ce58 0x18ba6ce58 0x18ba6ce58 0x18ba6c528 0x18ba6c408 0x18ba77ea4 0x18bc5ab18 0x18ba7e77c 0x18bc5a3a4 0x18bc14278 0x18bb24f40 0x18bb24d0c 0x18bb24c8c 0x18ba6d874 0x18b3c5d58 0x18b3c0944 0x18b3c07e8 0x18b3bffe8 0x18b3bfd6c 0x18ba6f790 0x1872a6324 0x1872a55c8 0x1872a3678 0x1871d1664 0x1903135a4 0x18bad64f8 0x1000a4c80 0x197f42a08) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 

Только сейчас я бегу, то я получил это в моем журнале

-[UITextFieldLabel numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x12fe79f70 

ОБНОВЛЕНИЕ:

еще одна вещь, как, когда я идти вперед мой, если условие истинно, и когда я нажимаю кнопку назад ее адресности ложь и выполнить еще часть для - (NSInteger) Tableview: (UITableView *) Tableview numberOfRowsInSection: (NSInteger) код метода раздела здесь http://postimg.org/image/kikrbltj1/

+0

Если вы не вызываете 'numberOfSectionsInTableView' напрямую, эта ошибка означает, что вы, вероятно, неправильно настроили делегат/источник данных в таблице.Вы каким-то образом связали 'UITextFieldLabel' как свой' UITableViewDelegate' и 'UITableViewDataSource' –

+0

можете проверить мои комментарии для первого ответа –

ответ

0

Я думаю, что причиной аварии является то, что когда вы нажимаете кнопку «Назад» от детали, popViewController вызывается дважды. Контроллер навигации сначала выдает страницу «Детали подпрограммы», а затем сразу же появляется страница «Подпрограмма». В методе viewWillAppear «Sub Program» выполняется метод setupContainer и загружается некоторый FKRSearchBarTableViewController с таблицей, которая должна быть заполнена.

Итак, когда навигационный контроллер сначала появляется на странице «Дополнительная информация о программе», приложение переходит к методу viewWillAppear страницы «Подпрограмма», где выполняется setupContainer, а таблицы загружают данные, в то же время «Подпрограмма», страница «Sub Program» отменена, так же, как и FKRSearchBarTableViewControllers, которые заняты загрузкой своих табличных представлений. Вот почему сообщение отправлено на объект dealloc'ed.

Вы можете переместить линию [self setupContainer] в DAViewController от viewWillAppear до конца viewDidLoad и удалите строки

if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound) { 
    // Navigation button was pressed. Do some stuff 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

из viewWillDisappear в THProgramDetailsViewController.m.

С: backBtnClick метод, действие pop уже выполнено.

+0

да, я могу видеть желтые предупреждения, но изнурение вызывает любой сбой ?? –

+0

Я прокомментировал эту часть предупреждения, и у меня появились журналы сбоев http://postimg.org/image/bvcxfcywb/ –

+0

Возможно, проблема с памятью. Что такое следующий журнал? – gabbler

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