美文网首页
NSArray 底层实现

NSArray 底层实现

作者: reboot_q | 来源:发表于2020-04-24 17:18 被阅读0次
    • NSMutableArray 是一个类簇 - 具体实现实际上是其子类 __NSArrayM
      通过hooper
    @interface __NSArrayM : NSMutableArray
    {
        unsigned long long _used;
        unsigned long long _doHardRetain:1;
        unsigned long long _doWeakAccess:1;
        unsigned long long _size:62;
        unsigned long long _hasObjects:1;
        unsigned long long _hasStrongReferences:1;
        unsigned long long _offset:62;
        unsigned long long _mutations;
        id *_list;
    }
    
    • __NSArrayM 使用了环形缓冲区(Circular buffer). 这个数据结构相当简单, 只是比常规数组和缓冲区复杂点. 环形缓冲区的内容能在到达任意一端时绕向另一端.
      环形缓冲区在任意一端插入或删除均不会要求移动任何内存(除非缓冲区满了)

    • __NSArrayM 特性

    http://blog.joyingx.me/2015/05/03/NSMutableArray%20%E5%8E%9F%E7%90%86%E6%8F%AD%E9%9C%B2/

    相关文章

      网友评论

          本文标题:NSArray 底层实现

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