美文网首页
改 bug 的一些方法

改 bug 的一些方法

作者: 活最好的自己 | 来源:发表于2018-06-21 21:51 被阅读16次

1. 高度或间距问题

  1. 改 collectionview 的间距, 可以把layout:sizeForItemAtIndexPath: 方法返回的值, 全部改成无限大或无限小(先不管 section)
  2. 如果依旧没什么用, 可以把layout:insetForSectionAtIndex:方法的值全部改成无限大或无限小(先不管 section), 也就是不计后果的那种.

2. 重叠问题

A页面继承于 B 页面, A 的页面明显超出了 B 的位置 ===> 全局搜索 super 方法, 只有initWithFrame:方法中有 super, 因此需要在创建 A 或 B 时, 各自单独调用initWithFrame:中的方法 ==> 原因是 A 继承了 B 的视图, 自己也创建了一份, 但是只给 A 的视图赋值并更新位置, 没有给 B 的视图赋值和更新位置.

3. 按钮显示后又消失问题

  1. 可以在按钮懒加载创建的地方插入断点, 或者在当前类中, 重写 get 方法, 在 get 方法中插入断点, 在 self. 代码处, 被调用, 但是没有发现被移除或被隐藏的地方.
  2. 由于是 UIButton, 可以在 UIButton的分类中, 重写 dealloc方法(分类中的方法会优先被调用), 确定当前视图是否被隐藏或被移除掉. ===> 结果是它的 dealloc 方法被调用了多次, 而且从调用关系结构图中发现, 其父类的 dealloc 方法也被调用了, 而且是在数组中被移除的. ===> 可以推断, 按钮消失的过程与父视图的被移除也是有关的.

4. 循环引用的两种常见情况:

  1. block 强引用
1. copy 的 block  属性里面含有 self
2. copy 的 block  属性里面含有 带有下划线的强应用
3. A对象拥有的 block 属性里面调用了 A 对象
4. A对象的 delegate 是 strong 属性(如CABasicAnimation的 delegate 是强引用, 可以参考http://www.chjsun.top/2017/01/04/animation/animation1/)

  [_loadingView setLoadingFailedBlock:^{
            //
            weakself.loadingView.hidden = NO;
            [weakself.loadingView loading];
            [weakself loadNewData];
        }];

- (PTVAlbumPhotoBrowserView*)photoBrowserView
{
    if (_photoBrowserView == nil)
    {
        _photoBrowserView = [PTVAlbumPhotoBrowserView new];
        _photoBrowserView.parentVc = self; //parentVc 是 strong 属性
    }
    return _photoBrowserView;
}

  1. 通知
1. addObserver:forKeyPath:options:context:方法, 没有及时的remove 掉.
2. 通过类似方法添加代理, `[[WuKongManager sharedInstance] registerRechargeGiftPackegData:self]`, 没有及时移除.

5. 定位客户问题

  1. 可以使用打点, 确定用户是否确实做了某些行为.

相关文章

  • 改 bug 的一些方法

    1. 高度或间距问题 改 collectionview 的间距, 可以把layout:sizeForItemAtI...

  • iOS开发-快速找出想要的ViewController

    我们在写项目时经常会碰到一些bug, 要改bug必然需要进入bug所在的VC.我们可以通过查看图层知道bug所在的...

  • 改bug

    一年以前的代码,又要改了。由于之前缺乏单元测试和回归测试的缘故,2015年1月通过测试的代码,在5月份新增功能后,...

  • 改bug

    步骤1:复现 都说如果一个bug可以每次复现了,那里它的解决也不远了。这里其实有一个隐藏的道理——就是如果你每次都...

  • 改bug

    想隔气,总能找到理由?️?️?️?️

  • 改bug

    这算是我遇到的没改的比较顽固的bug了,虽然在很多大神看来这个很简单,但是木有办法,菜鸟的我只能慢慢来,一边查文档...

  • 一周工作心得

    最近一段时间工作就是:改bug,改bug。 哈哈,可能别的行业的朋友们不知道改bug是个什么鬼,简单解释下,...

  • 程序员如何1年获取别人3年的工作经验?

    你们以为有啥好方法呢? 别想了,醒醒吧! 该加班的加班! 该改Bug的认真改! 文章你们看到这get到没有? ge...

  • 第163天  今天hysks改了很多细节和bug

    调整细节,改bug,完善内容。

  • 改Bug的收获

    1、遇到的问题 要在数据库中写一个简单的触发器,限制最高权限的用户删除自己,触发器只不过10几行代码。在shell...

网友评论

      本文标题:改 bug 的一些方法

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