我正在尝试找到NSObject.m
的来源。 (我想比较retain
和release
的ARC前后实现。)
我查看了http://www.opensource.apple.com/和http://www.macosforge.org/但未能找到它。
答案 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)
NSObject.m
上的GNUStep实现可以在http://wiki.gnustep.org/index.php/Main_Page