1、objc源码
https://opensource.apple.com/tarballs/objc4/
可以查看运行时底层原理,如分类和类的加载、objc_msgSend、方法交换底层原理等。
也可以查看NSObject的底层实现。
2、malloc源码
https://opensource.apple.com/tarballs/libmalloc/
可以查看内存分配原则。
3、Runloop源码
https://opensource.apple.com/tarballs/CF/
RunLoop代码在CFRunLoop.c文件中。
C语言编写,可以查看RunLoop运行过程
4、GCD源码
https://github.com/apple/swift-corelibs-libdispatch
5、GNUStep
http://www.gnustep.org/resources/downloads.php
GNUstep Core -> GNUstep Base
GNUstep是GNU计划的项目之一,它将Cocoa的OC库重新开源实现了一遍,虽然GNUstep不是苹果官方源码,但还是具有一定的参考价值。
可以查看NSObject、NSRunLoop、NSArray、NSDictionary等实现原理。