240 发简信
IP属地:安徽
  • 首先是源码, 包括注释, 有时候类名和变量名以及方法名也会提供一些信息, 其次就是调试, 根据输出结果合理猜想, 再有就是总结其它文章的内容了.

    AutoreleasePool 的实现机制 (二)

    本文章基于 objc4-725 进行测试.objc4 的代码可以在 https://opensource.apple.com/tarballs/objc4/[https://...

  • @太阳骑士索拉尔 看你也写了好多, 坚持那么久, 真厉害:+1:

    runtime(二) SideTables

    本文章基于 objc4-750 进行测试.objc4 的代码可以在 https://opensource.apple.com/tarballs/objc4/ 中得到. 引用计...

  • @太阳骑士索拉尔 数组里存的是 BucketT 类型的数据:
    typedef std::pair<KeyT, ValueT> BucketT;
    是一个元祖类型, KeyT 是对象的地址(或者是空桶以及墓碑的标记 key), ValueT 才是引用计数.

    runtime(二) SideTables

    本文章基于 objc4-750 进行测试.objc4 的代码可以在 https://opensource.apple.com/tarballs/objc4/ 中得到. 引用计...

  • 哈希桶其实就是使用开散列算法处理冲突的哈希表, 就是当出现哈希值重复的元素时, 是使用一定的算法来计算偏移然后放入数组中(闭散列), 还是在对应位置存入链表等容器来存放(开散列). DenseMap 管理的 Buckets 是使用闭散列的哈希表, 它有自己的哈希算法, 当出现哈希值重复时, 是使用
    BucketNo(哈希值) += ProbeAmt++;
    BucketNo&= (NumBuckets-1);
    来给哈希值增加偏移的.
    另外我也是边学边写的, 可能也有不对的地方.

    runtime(二) SideTables

    本文章基于 objc4-750 进行测试.objc4 的代码可以在 https://opensource.apple.com/tarballs/objc4/ 中得到. 引用计...

  • 感谢分享, 我有一个问题想不太明白, 就是 NSURLconnection 里面, 有一个方法叫做 - (void)setDelegateQueue:(nullable NSOperationQueue*)queue, 感觉也是可以设置代理的队列的, 所以需不需要常驻线程的问题, 我还是有些疑问.

    AFNetworking3.0后为什么不再需要常驻线程?

    最近在补源码阅读方面的短板,第一个选择的就是AFNetworking,一方面AF的编码思路、代码质量都属于开源框架的上乘;另一方面也可以借机温习一下网络方面的东西。AF源码解...

个人介绍
不是很会写文章, 可能又啰嗦又说不明白, 请包涵