-(void)applicationDidFinishLaunching:(UIApplication *)application{
[[[self.window.rootViewController.tabBarController.viewControllers objectAtIndex:1] tabBarItem]setBadgeValue:@"1"];
}
我使用storyboard for UI并想要为其中一个tabbar项设置通知编号,但似乎我做错了。
此代码有什么问题,为什么我在tabbar项目中看不到通知?
提前致谢。
解答:
FROM APPDELEGATE:
UITabBarController *tabController = self.window.rootViewController;
UIViewController *requiredViewController = [tabController.viewControllers objectAtIndex:1];
UITabBarItem *item = requiredViewController.tabBarItem;
[item setBadgeValue:@"1"];
答案 0 :(得分:4)
为什么这一切都在一条线上?
将其分解为几个较小的步骤,在第一步设置断点并遍历代码检查以查看您对每行的预期是否发生。
UIViewController *rootController = self.window.rootViewController;
UITabBarController *tabController = rootController.tabBarController;
UIViewController *requiredViewController = [tabController.viewControllers objectAtIndex:1];
UITabBarItem *item = requiredViewController.tabBarItem;
[item setBadgeValue:@"1"];
我怀疑你的某个属性是nil
- 这通常是'为什么我的方法失败而没有任何警告或错误'类型错误的原因。