美文网首页
GCD使用场景之一

GCD使用场景之一

作者: 高产的白猫 | 来源:发表于2017-01-17 13:55 被阅读0次

    最近项目遇到个问题,有个界面数据由多个接口来提供,使用MJRefresh刷新时候出了遇到了问题,不知道该何时结束刷新。。。
    开始想在每个请求的block中加个值判断,然后处理刷新,尼玛要是有100个接口这得写100遍啊,,,烦
    翻了以下资料发现了强大的GCD帮我解决了问题~

    以下下是部分代码:

        dispatch_group_t group = dispatch_group_create();
        
        //获取推荐计划
        dispatch_group_enter(group);
        [PXBEngine getRecommandWithID:@"" Success:^(NSDictionary *dict) {
            NSLog(@"get recommand project success");
            dispatch_group_leave(group);
        } failure:^(NSError *error) {
            dispatch_group_leave(group);
        }];
        //获取最新三条项目
        dispatch_group_enter(group);
        [PXBEngine getLatestProjectSuccess:^(NSDictionary *dict) {
            NSLog(@"get latest project success");
            dispatch_group_leave(group);
        } failure:^(NSError *error) {
            dispatch_group_leave(group);
        }];
        dispatch_group_notify(group, dispatch_get_main_queue(), ^{
            [self reloadData];
            [self.mj_header endRefreshing];
            NSLog(@"tableView reloadData success");
        });
    

    少些好多代码,哈哈哈

    看完上面👆这个再讲一个偷懒的经历,
    由于我的项目首页展示了很多内容,所以隐藏了首页导航栏。
    但是跳转到其他页面时候要显示导航栏,所以要在每个跳转页面加上这么一段代码:

    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        self.navigationController.navigationBar.hidden = NO;
    }
    

    首页跳转的页面有十几个,这要复制粘贴十几遍啊,大写的烦!
    本想去看看能不能在push pop的时候搞点事情,无意中发现了这个

    // Called when the navigation controller shows a new top view controller via a push, pop or setting of the view controller stack.
    - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated;
    - (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated;
    

    试着用了一下,正是我想要的结果,哈哈

    相关文章

      网友评论

          本文标题:GCD使用场景之一

          本文链接:https://www.haomeiwen.com/subject/mvumbttx.html