iOS快速定位循环引用的代码,小技巧

不适用所有场景,只在一些情况下,使用这两句代码,可快速定位

1.[self.navigationController popToViewController:vc animated:YES];

2.return;

一般在控制器中,使用这两句,如果popView之后调用dealloc,可说明之前的代码无异常,再移动popVIew的代码,扩大验证范围,直到popView之后没有调用dealloc,就说明那段代码有异常


例如:

-(void)viewDidLoad{

        [super viewDidLoad];

        [self initData];

       [self.navigationController popToViewController:vc animated:YES];

        return;

        [self initUI];

        [self initXX];

        [self initXXX];  

}

如果此时调用了dealloc,那说明[self initData]代码正常,再把popController代码向下移动几个方法。当dealloc不被调用时,再把popController代码移动到方法体里,缩小范围


备注:如果是present出来的控制器,可把popView改成dismiss,这个技巧使用范围不大。。最后还没找到,可留意下按钮点击,通知,代理,block等回调里的代码

你可能感兴趣的:(iOS快速定位循环引用的代码,小技巧)