gpt4 book ai didi

ios - 在 UITabBarController View 之间传递数据

转载 作者:可可西里 更新时间:2023-11-01 05:01:16 26 4
gpt4 key购买 nike

我已经搜索了整整一天的时间来寻找一个简单的例子,但还没有找到。我正在开发一个应用程序,我想在初始加载时进行 API 调用并填充一些可在任何选项卡 View 中访问的变量。

示例:我想进行一次 API 调用以获取我的数据,其中将包括与警报选项卡的警报相关的数据。我想在初始加载时使用此数据来更新“警报”选项卡角标(Badge)。但是,我还想在用户进入该选项卡后在警报页面上使用该信息,而无需再次调用 API 来再次获取相同的信息。

我已经阅读了大量不符合我要求的解释,所以我正在寻找一个很好的例子来帮助我。

最佳答案

使用您的 UITabBarViewControllerviewControllers 属性访问选项卡栏 Controller 中的 View Controller 数组。根据您的标签栏 Controller 架构对它们进行类型转换。然后使用该数组获取指向任何 View Controller 的指针。

例如,假设您的标签栏 Controller 有 5 个标签,每个标签都有一个 UINavigationController,其中有特定的 UIViewController 作为 Root View Controller 。假设您想将第 3 个选项卡的角标(Badge)值设置为您的 Web 响应数组计数。你可以这样做

[[[self.tabviewController viewControllers] objectAtIndex:2] 
setBadgeValue:[NSString stringWithFormat:@"%d",[myArray count]];

您还可以通过对 View Controller 进行类型转换来获取特定 View Controller 的属性。例如

MyViewController *myVc = (MyViewController*) [[(UINavigationController*)[[self.tabviewController viewControllers] objectAtIndex:2] viewControllers] objectAtIndex:0];
[myVc setPropertyName:propertyValue];

关于ios - 在 UITabBarController View 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16997037/

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