美文网首页
popToViewController的坑

popToViewController的坑

作者: brownfeng | 来源:发表于2016-08-28 11:42 被阅读361次

在使用popViewController时候遇到了两个比较隐蔽的问题.因此,在以后的开发中需要自己注意.

tips1

在调用popViewController时,使用GCD丢到main queue中去执行:

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    ...
   [self.navigationController popViewControllerAnimated:NO];
    ...
});

tips2

在代码中可能连续多次调用popViewControllerAnimated地方,最好通过遍历navigationController.viewControllers找到具体要遍历到哪个再直接pop到目标controller.

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    BOOL findIt = NO;
    UIViewController *targetVC = nil;
    for (UIViewController *subVC in self.navigationController.viewControllers) {
        if (findIt) {
            break;
        }
        if (subVC == xxx) {
            findIt = YES;
        }else{
            targetVC = subVC;
        }
    }
    [self.navigationController popToViewController:targetVC animated:NO];

});

相关文章

网友评论

      本文标题:popToViewController的坑

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