iphone - 我正在学习的 "Objective-C"有多少是通用的 Objective-C,而不是 Apple 的框架?

标签 iphone objective-c ios programming-languages language-features

这个问题与我关于 C 的其他问题有关:What can you do in C without “std” includes? Are they part of “C,” or just libraries?

我最近开始好奇核心 Objective-C 语言到底包含什么,以及我为 iPhone/OS X 开发所做的 Objective-C 的哪些部分是特定于 Apple 平台的。

我知道语法之类的东西是相同的,但是例如,NSObject 及其 NS 子类的洪流实际上是“标准”Objective-C 的一部分吗?我可以在 Windows 中使用它们吗?

哪些部件大部分是通用的,哪些部件只能在 Apple 平台上找到?

如果你愿意,举一个其他地方使用的 Objective-C 的例子作为更“通用”的例子也会对我有帮助。

谢谢! =)

最佳答案

核心 Objective-C 库目前只有两个实现,以前称为 NextStep(因此带有 NS 前缀)和 OPENSTEP:GNUStep和 Apple 的 OS X。在 Linux 上,如果您保持与 OPENSTEP 规范的兼容性,GNUStep 可以很好地工作。然而,规范是古老的,OS X 的现代代码可能无法正常工作(尤其是在 UI 区域)。 Windows 上的情况更糟。

您可以在 GCC 支持构建目标的任何地方使用 Objective-C 语言。 “NS”类不是语言本身的一部分。

如果您试图在代码库中保持跨平台兼容性,请坚持使用 C 或 C++,仅将 UI 特定行为移至 Objective-C。

关于iphone - 我正在学习的 "Objective-C"有多少是通用的 Objective-C,而不是 Apple 的框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2982424/

相关文章:

iphone - Quickblox,聊天室不发送推送通知

iphone - 优化 iPhone 上的 SQLite3

ios - 即使成功切换到前置摄像头,iPhone 仍然显示后置摄像头的 View

ios - FBRequest问题——获取好友信息

ios - 我应该下载 Controller 或数据类中的信息吗?

ios - 从 SKScene 呈现一个 UIViewController

iphone - 使用 CoreText 和 touches 创建可点击的 Action

java - Objective-C 中的策略设计模式

iphone - 如何在 iOS 中画出思想泡泡

ios - Storyboard中自定义 UITableViewCells 的问题