学习可可。我应该深入研究Apple的文档吗?

时间:2009-12-24 21:47:31

标签: objective-c cocoa

我已经为iPhone和Mac构建了一些基本的应用程序,对Cocoa有一个大致的了解,但还没有详细了解。现在我想深入了解。

我刚刚在MacDevCenter完成了Objective-C文档。深入了解它是很棒的,但花了太多时间,特别是因为它很多是概念性的,并且很难建立详细的例子来利用这些概念。

现在我正在使用Cocoa,但感觉要为Cocoa本身,然后是KVC,Cocoa Bindings和Core Data浏览250页文档会花费太多工作。

在这个阶段,我会更好地拿起一本关于可可的好书(我认为Hillegass'太稀疏了)还是我应该咬紧牙关并浏览文档?

10 个答案:

答案 0 :(得分:12)

Apple的文档通常非常出色。 API参考文献至少是我读过的最好的参考资料(右边是Java的API参考资料),是一个非常有价值的资产。 我建议阅读您感兴趣的主题的概述页面,以获得他们的工作方式和起点的一般“感觉”,然后开始编写代码。您可以参考文档来填写编写代码时遇到的空白。

编写一个小项目来练习使用您想要学习的API是一种很好的入门方式。

答案 1 :(得分:7)

我发现希勒加斯的书远非稀疏。事实上,我发现它是我读过的最密集的编程书籍之一。我已经重读了大部分章节至少4次,每次都了解更多。通过重新阅读,我理解他包含某个段落的原因以及它如何适应更大的画面。他非常清楚地说明了一切,并且不会浪费语言。我对这本书中包含的金额感到惊讶。

你提到你想通过做而不是通过阅读来学习。 Hillegass书中的每一章末尾都有一个部分,通过构建应用程序,您可以将学到的知识用于测试。

在你谈到的三件事中,KVC,Cocoa Bindings和Core Data,前两个都很好。我确实发现核心数据章节更加稀疏。这是本书中唯一没有其他文档我无法理解的部分。 Pragmatic Programmers book更好地涵盖了它。

无论如何,你的问题的答案是:它取决于。如果您已经设法通过Mac开发人员中心文档工作,那么您可能就是那种从这种资源方式轻松学习的人。如果你喜欢从书本中学习,最好的是希勒加斯。

答案 2 :(得分:3)

我推荐一本很久以前发行的优秀书籍:Erik M. Buck和Donald A. Yacktman撰写的“Cocoa Design Patterns”。

答案 3 :(得分:2)

当然你可以深入了解Apple的文档,但对我而言,我发现Hillegass的书是学习Cocoa的良好开端。我认为,这本书的价值在于引入了Cocoa的惯例和习语。

新的Cocoa开发人员是否真的清楚了解何时何时不向对象发送消息 autorelease 等问题?你可以说一个谷歌搜索会做,但你怎么知道这些问题一开始呢?

去拿一本好书,仔细阅读并做笔记。它可以节省您的时间。对我来说,在Cocoa上,这本书是Hillegass'。

答案 4 :(得分:1)

Hillegass'的书会让你每次无法理解时都能获得免费文档,以便“有趣”(即每隔一段),所以除非你只想给他40美元,否则你会好多了坚持苹果给你免费提供的东西。至少你不会发现他可怕的UI设计习惯。

您并不需要逐页浏览所有绑定和Core Data文档 - 其中一半是您可能永远不会使用的内容。知道在哪里寻找更多信息比记忆API更有价值。

答案 5 :(得分:1)

该参考文章非常有用且非常宝贵,但可能不是开始编码的最简单方法(正如人们所提到的那样)。

我开始查看有关iphone开发的stanford讲座,然后在我进行编码时进行编码。我实际上已经将它们用作参考一次或两次......它们可以在iTunes上免费获得。

答案 6 :(得分:1)

这取决于您拥有的其他编程经验以及您如何最好地学习。如果你对编程很新,我会建议Hillegass开始。如果你在OOP上相当称职但不了解Objective-C,你可以去Apple的“Introduction to The Objective-C Programming Language”学习ObjC的语言功能。如果您使用OOP以外的paradigms进行编程,则可以在此处查找常规OOP book recommendations(例如“Best Referece to learn OOP independent of languages?”)。我还推荐Jonatan建议查看iTunes大学提供的编程视频。他们是来自顶级大学的讲座录音,并且通常具有良好的学术质量(我只能用“普遍”来证明这一点,因为我没有看到所有这些;我看到的那些总是质量很好)。无论你去哪里学习ObjC和Cocoa,你仍然可以使用Apple的文档作为参考。

如您所知,您可能还会发现CocoaDev是一个有用的辅助来源。

答案 7 :(得分:1)

Aaron Hillegass的书是他为期一周的可可开发研讨会的文章,经过几年的修订,它已经被修改为初学者。 Aaron的课程是Apple发送自己员工的地方,现在他们不再在内部完成Cocoa课程了。

答案 8 :(得分:0)

Apple的文档是一个很好的参考,但我同意这是一个巨大的资源,试图从一开始就学习Cocoa。此外,您可能不需要事先了解整个API - 只需在需要时学习每个部分。

当我开始学习时,我刚刚选择了一个项目,坐下来开始尝试编码。当我遇到一些我不知道的事情时,我只是用谷歌搜索它,这导致了一个教程和/或Apple文档的相关页面。

根据我的经验,学习这类课程的最佳方式是体验。

答案 9 :(得分:0)

Apple的文档通常包含优秀的API参考,但(在我看来)缺少等效的topical guides。这使初学者难以理解(Jacob Kaplan-Moss在我刚刚给出的链接中指出Python的文档是这样的,但我认为Apple的更多)。

我的建议是拿起Hillegass的书,一个项目。前几章解释了基础知识,所以一定要阅读(并做练习!),否则你将无法走得太远。然后尝试实施您的项目构想;当你到达墙壁时,查看目录和书的词汇表,看看是否有什么东西覆盖它。如果您找到了某些内容,请以此为借口将其完全并理解。当你完成后,你将获得更多的理解和一个​​项目来展示它。此外,下次尝试实现某些内容时,您将知道在Apple的API参考中搜索的内容。这有助于激励我完成这本书,也许这对你有帮助。[1]

[1] :(免责声明:我有一种奇怪的学习方式)