【问题标题】:Where is the source code for NSObject.m? [closed]NSObject.m 的源代码在哪里? [关闭]
【发布时间】:2012-01-17 11:15:48
【问题描述】:

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

我查看了http://www.opensource.apple.com/http://www.macosforge.org/,但没有找到。

【问题讨论】:

  • 你为什么认为它会开源?
  • @sosborn 我可能会感到困惑。我知道 Core Foundation 的大部分内容都是开源的,Foundation/Cocoa 是基于 OpenStep,GNUStep 也是基于 OpenStep。

标签: cocoa open-source


【解决方案1】:

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

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

整个Objective-C运行时包可以从https://opensource.apple.com/tarballs/objc4/objc4-706.tar.gz下载

回顾网站上以前版本的运行时包,NSObject.mm 文件似乎已添加到objc4-532 包中。

【讨论】:

    【解决方案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 实现。

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2014-04-22
        • 1970-01-01
        • 2021-12-06
        • 1970-01-01
        • 2011-03-18
        • 2017-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多