gpt4 book ai didi

cocoa - 基金会使用核心基金会吗?

转载 作者:行者123 更新时间:2023-12-03 16:30:32 24 4
gpt4 key购买 nike

对我来说,似乎不是这样。当然,我没有 Foundation 的来源,但对于 GNUStep,请以这个例子为例。

他们有一个像这样的 NSArray 代码 https://github.com/gnustep/libs-base/blob/master/Source/NSArray.m

在源代码中没有任何地方引用 CFArray。

https://github.com/gnustep/libs-corebase/blob/master/Source/CFArray.c

所有 CF 对应产品也是如此。为什么?

最佳答案

GNUstep 的 Foundation 类不使用 Core Foundation。 GNUstep 最初是 OpenStep specificiation 的免费开源实现。 。 Foundation 和 AppKit 类均派生自 OpenStep 规范。虽然 GNUstep 的目标是 catch 当前版本的 Cocoa(根据 GNUstep 的 Wiki,它 promise 与 Mac OS X Tiger 兼容,并且来自较新版本 macOS 的一些类和方法已添加到 GNUstep),但我的理解是 GNUstep 没有任何核心基础依赖项。我发现了一个有趣的2005 mailing list post讨论为什么 GNUstep 不使用 Core Foundation。

当 Apple 在 1998 年宣布其 Mac OS X 战略时,它为开发人员提供了两个 API:Cocoa(基础库和 AppKit 库的更新版本)和 Carbon(源自经典 Macintosh Toolbox 的 C API)更新为适用于具有抢占式多任务处理和 protected 内存的操作系统。 Carbon 和 Cocoa 都构建在 Core Foundation 之上,Core Foundation 为这两个 API 提供了一个公共(public)桥梁。 Carbon 和 Cocoa 在 Mac OS X 中是同等的,两个 API 都不比另一个更受青睐。

因此,简而言之,Core Foundation 被添加到 Mac OS X 中,作为 Cocoa 和 Carbon 之间的兼容性桥梁。但GNUstep本质上是现代的OpenStep,而OpenStep从来没有Core Foundation,因此GNUstep的Foundation不使用Core Foundation。

关于cocoa - 基金会使用核心基金会吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46139713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com