gpt4 book ai didi

iphone - iOS - 从选项卡检索到不正确的角标(Badge)值

转载 作者:行者123 更新时间:2023-11-29 04:06:10 25 4
gpt4 key购买 nike

我正在尝试检索指定选项卡显示的值。之前可以用,后来因为某种原因停止了?下面代码中的 int current_badge = 行是获取角标(Badge)值的位置,并且无论角标(Badge)值实际是什么,都会返回零。我位于与 uitabcontroller 分离的 View Controller 中。有人对我做错了什么有任何想法吗?

更新:这似乎是因为我位于选项卡 Controller 之外的 View Controller 中。将相同的代码移至选项卡 View Controller 中,它可以正常工作。是否有更好的方法来确定选项卡 Controller 中的角标(Badge)值(当从选项卡 Controller 中分离出来时)?

-(void)badgeUpdate:(int)tab:(int)dayspan
{
// getting the current badge amount
int current_badge = [[[super.tabBarController.viewControllers objectAtIndex:tab] tabBarItem].badgeValue intValue];

// testing for badge level
if (current_badge > 0)
{
// testing for updates on tab for dayspan or longer
int updates_waiting = [self updatesWaitingCheck:tab:dayspan];
if (updates_waiting > 0)
{
// setting new badge level on tab
[[[[[self tabBarController] viewControllers] objectAtIndex:tab] tabBarItem] setBadgeValue:[NSString stringWithFormat:@"%d", updates_waiting]];
}
else
{
// turning off badge display
[[[[[self tabBarController] viewControllers] objectAtIndex:tab] tabBarItem] setBadgeValue:nil];
}
}
}

最佳答案

当您离开时,该选项卡的 Controller 可能会被释放。我建议将确定当前计数的逻辑移出 View 层,并移至在所有选项卡中持续存在的更高级别 Controller 中。否则,您将遇到您所看到的问题。

大多数时候,如果您在 View 对象中查找数据值,而不是在某个 Controller 或模型中查找数据值,那么您正在针对框架工作,并且会遇到这样的问题。

关于iphone - iOS - 从选项卡检索到不正确的角标(Badge)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15187963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com