实现的思路如下:
1.先是接口提前请求,结果异步缓存。
2.生成tabbarcontroller的时候,把固定的子控制器提前加载,以通知或者block方法把要添加的子控制器传入。
3.以原有控制器数组为准,遍历排序,找到适当的位置insert进去,然后重置tabbarcontroller整个数组,整个过程要注意异步主线程进行。
4.注意再次刷新接口的时候,只做排序操作,注意不要重复添加。
以下附上关键代码:
-(void)insertChildControllerWithModel:(NSNotification *)notification {
NewFunctionModel * model = (NewFunctionModel *)notification.object;
if ([self isUrlAddress:model.event]) {
__block BOOL needAdd = YES;
for (UINavigationController *vc in self.childViewControllers) {
if ([vc.topViewController isKindOfClass:[WebViewBaseViewController class]]) {
needAdd = NO;
}
}
if (needAdd == YES) {
WebViewBaseViewController *webVC = [[WebViewBaseViewController alloc]init];
webVC.requestUrl = model.event;
UINavigationController* nav = [[UINavigationController all

本文介绍了如何通过异步缓存接口结果、预先加载固定子控制器、动态调整TabBarController结构,实现实时添加和排序WebView控制器。核心代码展示了在接收到通知时,根据模型事件判断并插入新的WebView视图到正确位置,同时确保整个过程在主线程完成且避免重复添加。
最低0.47元/天 解锁文章
1048

被折叠的 条评论
为什么被折叠?



