关于如何学习Cocoa Touch API的任何建议?

时间:2011-05-02 14:56:02

标签: cocoa-touch ios xcode4

我是一名经验丰富的程序员(C,一点C ++,PHP,JavaScript),他正在深入开发iOS版本。我不得不说,虽然我没有问题地得到Objective-C,但Cocoa Touch API非常庞大,而且相当复杂。看起来他们很简单的事情,比如在地图上放一个带注释的图钉,需要几个步骤,如果不在书中阅读一个例子,我就不会想到这些步骤。

我正在寻找有关如何解决学习这个庞然大物的API的建议。假设我想弄清楚如何打开URL,从中获取XML数据并解析它。我怎么会在世界上知道从哪里开始(只是一个例子,实际上没有回答)?我有Xcode 4,所以我想文件必须以某种方式使我对这个相对简单。我刚接触这个,所以我不知道从哪里开始,所以任何建议都会很棒。感谢。

3 个答案:

答案 0 :(得分:3)

专注于基础知识。请务必阅读并完全理解Memory Management Programming Guide。如果您阅读SO一段时间,您会发现很大一部分与iOS相关的问题来自显然没有阅读该文档的人。有趣的是,它真的不那么复杂 - 这里的记忆问题的答案几乎总是一样的,几乎总是由this page回答。

了解构建iOS应用程序块的类。知道UIResponder,UIView,UIControl和UIViewController做了什么,以及如何将它们子类化以实现您想要的功能。有些文档可以解释所有重要的想法,例如viewsview controllers。阅读这些内容:了解在文档中查找信息的位置将有助于您更快地提高工作效率。视图控制器为应用程序提供了可见的结构,因此了解自己的视图控制器对象如何由容器视图控制器(如导航控制器和标签栏控制器)进行管理非常重要。

理解重要的模式:MVC是指导你的哲学;代表团遍布各地;责任链用于处理事件。获得模式后,解析XML文件,为表提供数据以及在地图上删除引脚都会以同样的方式开始变得有意义。

答案 1 :(得分:0)

有效学习它的最好方法是用它编写代码。这需要花费很多精力,因为Apples API:s需要与大多数其他API不同的思维方式:您可能已经习惯了,特别是如果来自PHP或JavaScript背景。

要克服的第一个障碍是你必须接受这样一个事实,即你现在认为理所当然的许多事情需要更多的代码必须写。举几个例子来澄清:

  • 如果您来自PHP,那么您习惯使用SimpleXML,只需几行代码即可使用。在iOS中,有一个SAX解析器需要更多的工作量和复杂性才能使用。
  • 对于活动指示器,您可以使用类似于animated image的内容,但您必须添加自己的标签和代码,以确保在微调器运行时阻止用户触摸事件。
  • 如果你想要一个漂亮的彩色非默认非圆形矩形白色按钮,你必须自己编写代码。这并不难,但它绝对不像创建CSS文件。

因此,大多数(看似)简单的任务需要比您可能习惯的更多的努力。

下一个障碍是精神上脱离Interface Builder。 IB起初可能看起来很诱人且诱人,但人们常常会在代码中或多或少地编写GUI。例如:UIPopovers,导航栏,转换,表格和自定义工具栏等。

另一个障碍是UINavigationBar。当你真正理解它是如何工作的时候,你已经走了很长的路!我并不是说它很糟糕,只是它与你可能习惯的非常不同。

不要羞于在这里提问并使用谷歌。只是阅读有关它的书籍无济于事。

请不要这不是对平台的批评。恰恰相反,我个人非常喜欢它,并理解它的工作原理(大部分时间)。只是许多开始使用iOS开发的程序员都非常期望开始使用它是多么容易,最终会被烧毁或沮丧。

答案 2 :(得分:0)

斯坦福大学的优秀课程CS 193P,“iPhone应用程序开发”,在iTunes U中免费。