Objective-C标准文件

Quu*_*one 24 standards grammar document objective-c

我是一名C和C++程序员,试图开始使用Objective-C.但是,我真的很困惑,因为语言和标准库的标准文档显然完全没有.我可以理解,没有ISO标准,但根本没有参考文件怎么没有人似乎非常担心这种状况呢?(不可否认,谷歌很难做到这一点,因为"参考","文档"和"标准"都是超载的术语.所以我可能错过了一些关键的东西.)

这个问题接近于问同样的问题:我在哪里可以找到解释Objective-C如何实现的文档,并且提供的唯一答案是"阅读Apple发布的这个源代码,这与几年前的实现非常接近, 也许".

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

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

Jos*_*ell 15

不幸的是,没有标准的ObjC,因为有C++或C. Apple是该语言背后的主要用户和驱动程序,它们的编译器实现(Clang的ObjC位)是事实上的标准.他们的旧文档(断开的链接)"Objective-C编程语言" 与散文版本的距离非常接近,并且它远远不及其他语言标准的精确度(并且它往往落后于编译器).

它可能仍然在网络上浮动,但它不再是最新的."使用Objective-C编程"似乎是他们的预期替代品(但同样,它并不像标准).

关于Tim的删除答案下的评论(仅限10k链接),Cocoa根类是NSObject,并且其界面已记录,但其源不可用.请注意,该NSObject协议也是Cocoa对象功能的一个非常重要的部分.Apple的运行时是开源的,*并且有一个被称为root的类Object,我假设是为了演示.它不用于Cocoa编程.

当然,你已经知道了所有这些.你问题的直接答案是"没有一个".然而,大多数语法与C相同,正如bbum指出的那样:ObjectiveC字符串文字的权威描述? (是的,我将我的评论从那里复制粘贴到这个答案的开头).


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


pas*_*aya 5

我想我理解你的问题,所以我会相应地回答......

我强烈推荐Apple Developer Library中的文档.以下是一些帮助您入门的基本指南:

Objective-C编程中的概念

用Objective-C编程

可可基础指南

iOS应用程序编程

这些文件是Objective-C和Cocoa最佳实践和编码标准的权威来源.关于众多主题的文档还有很多,所以请务必查看该网站.

您还询问了如何知道对象可用的方法.要知道这一点,您可以查看类引用.

例如:

NSObject类参考

指南和类引用之间的区别在于指南更多地是关于代码背后的概念,而类引用是可用于类的方法和属性的列表.

希望这有帮助.