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等回调里的代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • //设置尺寸为屏幕尺寸的时候self.window = [[UIWindow alloc] initWithFra...
    LuckTime阅读 838评论 0 0
  • 1.badgeVaule气泡提示 2.git终端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夹内容...
    i得深刻方得S阅读 4,752评论 1 9
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,547评论 1 14
  • 1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现cl...
    以德扶人阅读 2,466评论 2 50
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 3,475评论 2 4