iOS - GNUstep(查看Foundation源码)
2019-12-29 本文已影响0人
翀鹰精灵
作为iOS开发,大家都知道iOS是闭源的,我们只能看到头文件,而看不到里面的实现。网上有部分iOS开源的代码,如:Runtime的开源代码。
objc-runtime部分类截图:
但是这里公开的Foundation框架中只有NSObject的实现。假如我们想要查看NSString,NSArray,NSRunLoop,NSThread等Foundation这些类,是没有源码的。虽然通过汇编语言,一步步的跟踪也可以查看。但是汇编太过于晦涩难懂,所以这里推荐一个** GNUstep**。
GNUstep是GUN计划的项目之一,它将Cocoa的OC库重新开源实现了一遍,并且开源出来了。虽然GNUstep不是苹果官方的源码,是GNU计划写的,但是还是具有一定参考价值的。
GNUstep源码下载地址:http://www.gnustep.org/resources/downloads.php
002.png我们可以下载【GNUstep Base】,下载完成后打开目录Source-->Foundation 这里有许多Foundation的其它类,比如:NSArray,我们可以点击进去,查看到我们经常使用的方法及实现。
003.png 004.png感兴趣的小伙伴可以自己去下载下GNUstep这个项目,去了解自己感兴趣的Objective-C类内部的实现原理。
GNUstep源码下载地址:http://www.gnustep.org/resources/downloads.php