• 120
    ARC实现源码笔记

    下面是runtime中关于ARC的数据结构部分: Weak引用实现 NSObject中定义了两个方法: 第二个方法与第一个作用类似,都是调用的s...

  • NSHelper笔记

    pragma pragma作为一个预处理关键字,在编译时展开,主要完成两个任务:组织代码和消除编译器警告。 @ Interfaces & Imp...

  • ReactiveCocoa中的宏

    weakify 源码: 使用方法: 这里有两个问题: autoreleasepool的作用是什么? metamacro_foreach_cxt干...

  • 120
    The Runtime Interaction Model for Views

    当用户与程序的界面进行交互时,或者通过代码控制一些东西时,UIKit中会发生一系列复杂的事件来处理这张交互。在这一系例事件的特定时间点,UIKi...

  • llvm中Block的实现

    一个block主要的结构如下: When a Block literal expression is evaluated the stack b...

  • RACMulticastConnection介绍

    在介绍RACMulticastConnection之前,先说明一个Reactive Cocoa中其他几个用到的类。 RACReplaySubje...

  • RACChannel介绍

    RACChannel可以被看成是一个由两个并行工作的signal组成的双向连接。例如,当连接一个view和一个model时有如下模型:Model...

  • 学Swift速记

    Property(属性) 属性将值与特定的类、结构体或枚举联系起来。Stored属性将常量或变量存储作为实例的一部分,而computed属性计算...

  • 120
    WebViewJSBridge源码解析

    WebViewJSBridge源码很简单,只有一个类,下面是这个类的类图(去除了OSX平台的代码)。 JS和Native的交互主要通过发送WVJ...