Don*_*van 4 objective-c nsuserdefaults uitabbarcontroller ios
我已经搜索了一整天的一个简单的例子,但还没有找到它.我正在开发一个应用程序,我希望在初始加载时进行API调用,并填充一些可在任何选项卡视图中访问的变量.
示例:我想进行单个API调用以获取我的数据,其中包括与警报选项卡的警报相关的数据.我想在初始加载时使用此数据来更新"警报"选项卡徽章.但是,一旦此人转到该选项卡,我还希望在警报页面上使用该信息,而无需再次进行另一次API调用以获取相同的信息.
我已经阅读了大量不符合我要求的解释,所以我正在寻找一个很好的例子来帮助我.
Zen*_*Zen 15
使用您UITabBarViewController的viewControllers属性访问选项卡栏控制器中的视图控制器数组.根据您的标签栏控制器架构对它们进行测试.然后使用该数组获取指向任何视图控制器的指针.
例如,假设您的标签栏控制器有5个标签,每个标签都有一个UINavigationController特定的UIViewController根视图控制器.假设您要将第3个选项卡的徽章值设置为Web响应阵列计数.你可以这样做
[[[self.tabviewController viewControllers] objectAtIndex:2]
setBadgeValue:[NSString stringWithFormat:@"%d",[myArray count]];
Run Code Online (Sandbox Code Playgroud)
您还可以通过对视图控制器进行类型转换来获取特定视图控制器的属性.例如
MyViewController *myVc = (MyViewController*) [[(UINavigationController*)[[self.tabviewController viewControllers] objectAtIndex:2] viewControllers] objectAtIndex:0];
[myVc setPropertyName:propertyValue];
Run Code Online (Sandbox Code Playgroud)