240 发简信
  • 120
    组件化-BeeHive

    解耦 BeeHive的核心主要有两类对象,一类是Service对象,第二类是Module对象。Service解除依赖的方法是通过Protocol...

  • 组件化CTMediator

    组件化的意义 ​ 当业务变得越来越复杂的时候,整个工程代码量随时间推移会越来越多。最大的影响是降低开发人员的开发效率,比如编译时间,包括合并...

  • 120
    单元测试

    单测的意义 单测最终的目标是为了提前发现问题,提高代码质量。说到代码质量,衡量代码质量的主要方式如下图: 可维护性: 代表的是代码自身在持续修改...

  • 布局结束检测工具

    有些时候,需要知道什么时候View会布局完成。比如需要在View布局完成之后,希望页面自动跳转到某一个模块,如果不知道View什么时候布局完成,...

    0.7 447 0 51
  • 120
    Node小结

    最近工作中用到了Node,实现了一个数据抓取处理的自动化工具。平时的使用中,主要还是依赖各种库。对Node本身的一些原理性的东西也不是很清楚,只...

    1.2 475 0 51
  • 120
    iOS性能监控

    卡顿 通过观察者注册到RunLoop可以在以下几个阶段收到通知 kCFRunLoopEntry kCFRunLoopBeforeTimers k...

    1.1 534 0 51
  • 120
    Method Swizzle的危机

    在同时使用RAC和Aspects的时候,遇到了一个Crash,栈溢出了。 看了一下,是之前在项目中使用了RAC的rac_singalForSel...

    0.7 812 0 51
  • 120
    Git Hook

    git hook 通过在代码commit和push之前执行一个脚本,来实现一些检查性工作😎。 在.git/hooks目录下的脚本文件,默认情况下...

    1.1 2630 0 50
  • 120
    Runloop和多线程

    在CFRunloop中已经说明了一个线程及其runloop的对应关系 ,现在以iOS中NSThread的实际使用来说明runloop在线程中的意...

    1.0 1307 0 51 3