如何为tabbar项调用setBadgeValue方法

时间:2012-10-06 23:05:12

标签: ios

-(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"];

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 - 这通常是'为什么我的方法失败而没有任何警告或错误'类型错误的原因。