Objective-C 标准文档

标签 objective-c standards document grammar

我是一名试图开始使用 Objective-C 的 C 和 C++ 程序员。不过,我真的很困惑,因为明显完全没有语言和标准库的标准文档。我能理解没有 ISO 标准,但是根本没有引用文档吗? 为什么似乎没有人非常关心这种情况? (诚​​然,Google 很难找到这样的东西,因为“引用”、“文档”和“标准”都是重载的术语。所以我可能只是错过了一些关键的东西。)

这个问题几乎是在问同样的事情:Where can i find a document explaining how Objective-C is implemented唯一提供的答案是“阅读 Apple 发布的源代码,这可能与他们几年前的实现非常接近”。

本页:http://clang.llvm.org/docs/ObjectiveCLiterals.html包含 Objective-C 的正式语法片段,但具有讽刺意味的是,它是在描述 Clang 刚刚关闭并自行添加的功能的上下文中,没有其他人支持。这里还有一个语法:http://www.omnigroup.com/mailman/archive/macosx-dev/2001-March/022979.html但它已经超过 10 年了。

将问题缩小到最低限度:我想知道“对象”保证提供哪些方法,以及每个方法的行为是什么。对于其他语言,此类信息通常由以下内容提供:http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html

最佳答案

不幸的是,没有像 C++ 或 C 那样的 ObjC 标准。Apple 是该语言背后的主要用户和驱动程序,他们的编译器实现(Clang 的 ObjC 位)是事实上的标准。他们的旧文件(broken link) "The Objective-C Programming Language"与散文版本差不多,而且它远不及其他任何一种语言标准的精度(而且它往往落后于编译器)。

它可能仍在网络上的某个地方四处飘荡,但它不再是最新的。 "Programming with Objective-C"似乎是他们的预期替代品(但同样,它没有像标准)。

关于 your comment (仅限 10k 链接)在 Tim 删除的答案下,Cocoa 根类是 NSObject,其接口(interface) is documented , 但其来源不可用。请注意 NSObject protocol也是 Cocoa 对象功能中极其重要的一部分。苹果的运行时间是open-source ,* 并且有一个名为 Object 的根类,我假设是为了演示目的。它不用于 Cocoa 编程。

当然,您已经知道所有这些。您问题的直接答案是“没有”。不过,正如 bbum 指出的那样,大部分语法与 C 相同:Authoritative description of ObjectiveC string literals? (是的,我从那里复制粘贴我的评论到这个答案的开头)


*请注意,与您在问题中所说的相反,这是实际的,最新的运行时。

关于Objective-C 标准文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10906767/

相关文章:

objective-c - 如何使图像在 iOS 应用程序中出现和消失?

objective-c - 如何为手动创建的对象添加gestureRecognizer?

c - "p = p + (*p)++ * 3 + c;"会导致未定义的行为吗?

ios - 如果 subview (未)隐藏,则调整 View 大小

ios - 如何像 Lyft App 一样在 iOS 8 上的 MKMapView 平移手势上隐藏 UINavigationItem?

javascript - 如何在 JavaScript 中声明父类和子类?

c - gcc 中是否有针对 "i=i--"行为的特定文档?

php 只能从文档根目录工作?

javascript - 如何在自己的应用程序中显示来自 Alfresco 的文档?

java - 如何在 Java/Android 中访问圣经文档