NSObject.m的源代码在哪里?

时间:2012-01-17 11:15:49

标签: cocoa open-source

我正在尝试找到NSObject.m的来源。 (我想比较retainrelease的ARC前后实现。)

我查看了http://www.opensource.apple.com/http://www.macosforge.org/但未能找到它。

3 个答案:

答案 0 :(得分:14)

Apple的NSObject的源代码包含在Apple的开源存储库站点上的Objective-C运行时包中。

https://opensource.apple.com/source/objc4/objc4-706/runtime/NSObject.mm

可以从https://opensource.apple.com/tarballs/objc4/objc4-706.tar.gz

下载整个Objective-C运行时包

回顾网站上以前版本的运行时包,NSObject.mm包中添加了{{1}}文件。

答案 1 :(得分:2)

如上所述,NSObject的源代码在Objective-C运行时(编辑时可用的最新版本)http://opensource.apple.com/source/objc4/objc4-680/runtime/NSObject.mm中提供。虽然Cocoa(Touch)框架不是开源的,如果你想看到它。此外,GNUStep基础包https://github.com/gnustep/base/blob/master/Source/NSObject.m中还有另一个完整的NSObject实现。

答案 2 :(得分:1)

我很困惑。 Apple将大部分Core Foundation(Foundation / Cocoa所基于的C API)作为开源提供。 Foundation / Cocoa基于OpenStep。 GNUStep是OpenStep的开源实现。

NSObject.m上的GNUStep实现可以在http://wiki.gnustep.org/index.php/Main_Page

找到