Avatar notebook default
33篇文章 · 22470字 · 2人关注
  • 手动撸一个带callback的KVO

    大概思路:创建一个子类,然后把父类的 isa 指向子类 (object_setClass),在子类里新增一个setter方法,并在这个sette...

  • sideTable & weakTable 源码解析 -- 基于最新objc源码

    总的来说: weak_table 是 SideTable 的一个成员变量,避免直接操作 weak_table。根据当前对象指针,做一定偏移,找...

  • Resize,w 360,h 240
    包体积优化那些事——符号表、动态库

    符号表优化 尽可能的隐藏符号表:如果我们写了10个方法,但是并不是全都让外部来调用,就需要把这部分符号隐藏 参考一下fishhook的图: 由上...

  • Resize,w 360,h 240
    关于 ios 内存平移-堆vs栈内存

    这种调用的好处是效率高,没有通过实例的 isa 去寻找类对象,而是直接通过类对象调用了方法 提高了方法的调用效率。 如果想提高方法调用效率,其实...

  • Resize,w 360,h 240
    即时通讯:socket 那些你不知道的事 - 心跳

    为什么TCP的 KeepAlive 不能满足心跳需求? 首先说下心跳包的主要作用是告知对方连接端,我还活着,心还在跳。 前言:的确,tcp 也有...

  • IOS - 绘图总结

    宽泛的说,大多数 CALayer 的属性都是用GPU来绘制 如果对一个 contents 属性设置一张图片,然后裁剪它 - 它就会被纹理的三角形...

  • socket 实现完整im通讯

    以流的方式处理IM通讯问题好处是无需多次建立连接,另外消息的网络开销少,而xmpp会有很多冗余的信息; 使用开源项目:CocoaAsyncSoc...

  • GCD-分派源

    分派源提供了高效的方式来处理事件,这种方式是通过发送通知,接受通知的方式实现; 但有的时候系统发送通知有延迟:已经处理完多次事件才进行通知,这时...

  • 源码分析

    AFNetworking:http://www.jianshu.com/p/723533b2f1ed YYKit系列:http://www.ji...

文集作者