记一次Debug版本正常运行,Release版本崩溃的解决方案.

今天碰到一个特坑爹的问题.
在使用自己写的一个channelScrollView库的时候.在每次进入下面这个循环的时候.就会崩溃

- (void)setTitleArray:(NSArray<NSString *> *)titleArray {
    _titleArray = titleArray;
    NSMutableArray *arrayM = [NSMutableArray array];
    for (int i  = 0; i < titleArray.count; i++) {//每次进入这个循环就会崩溃
        ZCHChannelButton *btn = [ZCHChannelButton zch_ButtonWithTitle:titleArray[i] normalFont:self.font normalColor:self.normalColor selectedColor:self.selectedColor];
        _twigView.backgroundColor = self.selectedColor;
        btn.tag = i;
        [btn sizeToFit];
        [arrayM addObject:btn];
    }
    self.buttonArray = arrayM.copy;
}

首先.Debug的运行环境和Release不一样.Release做了一些底层的优化.为了使运行更加”流畅”.而Debug模式拥有许多Release模式没有的调试”功能”.关注点为,在问题没暴露给线上版本的时候就让程序员完美解决掉.

那么,我项目每次在这里崩溃(程序并没有什么问题).而且不是在容易暴露出问题的Debug模式,而是Release模式.那么可能是Release的某个设置导致的.
经过一通查询,发现把这个Release优化改成None就可以避免这个问题了.
记一次Debug版本正常运行,Release版本崩溃的解决方案._第1张图片

你可能感兴趣的:(iOS踏坑)