Сбой при установке значка на панели вкладок в задаче C - PullRequest
0 голосов
/ 29 октября 2018

Эта строка кода вылетает. Как проверить, что элемент табора не равен нулю, а затем установить значок?

[self.tabController.tabBar.items objectAtIndex:0].badgeValue = [NSString stringWithFormat:@"%i", num];

*** Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: '- [_ CTNativeGlyphStorage tabBar]: нераспознанный селектор отправлен на экземпляр 0x15029cfd0 '

Я проверил это по этой строке кода, но это не решило проблему.

if (self.tabController.tabBar.items != nil)   { }

1 Ответ

0 голосов
/ 30 октября 2018

Если вы устанавливаете значение значка до того, как контроллер вкладок будет даже представлен или полностью инициирован, то с индексом 0 пока ничего не будет. Контроллер вкладок не должен запускать все, пока не придет время для представления, в целях использования памяти. Вы можете сохранить ссылку на каждый экземпляр UITabBarItem и установить для них значение значка. Или вам придется подождать, пока не будет вызван viewDidAppear, гарантируя, что все UITabBarItems полностью созданы ...

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...