1

Я делаю приложение, которое показывает UILocalNotification, и когда пользователь нажимает на уведомление, приложение покажет новый ViewController (разработанный в Storyboard), который не имеет какого-либо segue из любого места в моем приложении.storyboard instantiateViewControllerWithIdentifier: @ «myIdentifier» показывает пустую диспетчер представлений

Чтобы обнаружить, если пользователь нажал на уведомление, что я делаю следующее didReceiveLocalNotification:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
UIViewController *checkListVC = [storyboard instantiateViewControllerWithIdentifier:@"MyCheckListVC"]; 
self.window.rootViewController = checkListVC; 

Таким образом, когда пользователь нажимает на уведомление, выше код initiatizes мой вид контроллера (позволяет называть его CheckListVC), который имеет идентификатор «MyCheckListVC». Этот CheckListVC имеет tableView, функции делегата и dataSource которого вызываются (numberOfRowsInSection & cellForRowAtIndexPath), когда инициализируется контроллер вида. Но проблема заключается в том, что симулятор показывает пустой экран, когда CheckListVC инициализируется вместо отображения tableView.

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

+0

вы назвали '[self.window makeKeyAndVisible]' после того, как вы себе т ваш rootViewController, это может быть проблемой. – limon

+0

Да, я действительно вызывал '[self.window makeKeyAndVisible]', но это тоже не помогает. – nefarianblack

ответ

0

Я думаю, что вы забыли присвоить идентификатор UIStoryboard .. 1.select раскадровки 2.assign имени идентификатора в «MyCheckListVC» в инспекторе идентичности ..

проверить это изображение для ясности ..

enter image description hereenter image description here

следующие шаги и попробовать .. я думаю, что это будет работать .. :)

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