Cocoa touch 关于如何学习Cocoa Touch API有什么建议吗? 我是一个有经验的程序员(C,一个小C++,PHP,JavaScript),正在潜心开发iOS。我不得不说,虽然我得到Objective-C没有问题,但Cocoa Touch API是巨大的,而且相当复杂。看起来很简单的事情,比如在地图上放一个带注释的大头针,需要几个步骤,如果不读一本书中的例子,我是永远不会明白的

Cocoa touch 关于如何学习Cocoa Touch API有什么建议吗? 我是一个有经验的程序员(C,一个小C++,PHP,JavaScript),正在潜心开发iOS。我不得不说,虽然我得到Objective-C没有问题,但Cocoa Touch API是巨大的,而且相当复杂。看起来很简单的事情,比如在地图上放一个带注释的大头针,需要几个步骤,如果不读一本书中的例子,我是永远不会明白的,cocoa-touch,ios,xcode4,Cocoa Touch,Ios,Xcode4,我正在寻找关于如何学习这个庞然大物API的建议。假设我想弄清楚如何打开URL,从中获取XML数据,并对其进行解析。我到底怎么知道从哪里开始呢(只是一个例子,不要回答这个问题)?我有Xcode4,所以我想文档一定会让这对我来说相对简单。我只是一个新手,所以我不知道从哪里开始,所以任何建议都会很好。谢谢。有效学习它的最好方法是用它编写代码。这需要很多努力,主要是因为苹果API:s需要一种与您可能习惯的大多数其他API:s不同的思维方式,特别是如果您来自PHP或JavaScript背景 要克服的第一个

我正在寻找关于如何学习这个庞然大物API的建议。假设我想弄清楚如何打开URL,从中获取XML数据,并对其进行解析。我到底怎么知道从哪里开始呢(只是一个例子,不要回答这个问题)?我有Xcode4,所以我想文档一定会让这对我来说相对简单。我只是一个新手,所以我不知道从哪里开始,所以任何建议都会很好。谢谢。

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

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

  • 如果您来自PHP,那么您已经习惯了SimpleXML,它只需要几行代码即可使用。在iOS中,有一个解析器需要更多的工作和复杂性才能使用
  • 对于activity indicator,您可以使用类似于的东西,但您必须添加自己的标签和代码,以确保在微调器运行时阻止用户触摸事件
  • 如果你想要一个漂亮的彩色非默认非圆形矩形白色按钮,你必须自己编码。这并不难,但绝对不像创建CSS文件
因此,大多数(看似)简单的任务需要比你可能习惯的付出更多的努力

下一个障碍是从思想上脱离Interface Builder。IB一开始可能看起来很诱人,但最终还是会或多或少地用代码编写GUI。例如:UIPopover、导航栏、过渡、表格和自定义工具栏等

另一个障碍是UINavigationBar。当你真正了解它是如何工作的,你已经走了很长的路!我并不是说它不好,只是说它和你可能习惯的东西有很大的不同

不要因为在这里提问而感到羞耻,使用谷歌吧。不过,仅仅阅读有关这方面的书籍是没有帮助的


请不要这样,这不是对平台的批评。恰恰相反,因为我个人非常喜欢它,并且理解它为什么会这样工作(大多数时候)。只是许多刚开始使用iOS开发的程序员对开始使用iOS的容易程度有着很高的期望,最终他们会被烧坏或沮丧。

专注于基础知识。请确保您阅读并完全理解本手册。如果你读了一段时间,你会发现大部分与iOS相关的问题都来自那些显然没有读过该文档的人。有趣的是,它其实并没有那么复杂——这里关于记忆问题的答案几乎总是一样的,而且几乎都是由

了解作为iOS应用程序构建块的类。了解UIResponder、UIView、UIControl和UIViewController的功能,以及如何对它们进行子类化以实现所需功能。有一些文件解释了所有重要的想法,比如和。阅读这些:了解文档中的信息位置将帮助您更快地提高工作效率。视图控制器为应用程序提供了可见的结构,因此了解容器视图控制器(如导航控制器和选项卡栏控制器)如何管理自己的视图控制器对象非常重要


还要理解重要的模式:MVC是指导您的哲学;授权到处都在使用;责任链用于处理事件。一旦你得到了这些模式,解析XML文件、为表格提供数据以及在地图上放置图钉都会以同样的方式变得有意义。

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

这里展示的负面信息是不必要的,也是误导性的。创建按钮和进度指示器通常不需要任何代码;解析XML与使用任何其他基于SAX的解析器非常相似。避免IB的建议是对OP的伤害;新手通常希望避免IB,因为他们不了解它,但有经验的开发人员依赖IB。很少有理由直接使用UINavigationBar;让UINavigationController为您管理任何导航条,生活就会简单得多。@Caleb。以上的一切都是很多ppl第一次跳入这个平台的经历。回避这一点是不诚实的,只会导致沮丧。我个人非常喜欢这个平台。我每天都在和它打交道。我不想和你发生粉丝大战,所以我刚刚用一些例子更新了我的答案。再次重申:我真的很喜欢它,但是来自PHP或JavaScript的ppl将经历一段艰难(但很有趣)的旅程。你已经改进了你的帖子。无论是PHP、Cocoa Touch、VB还是其他任何平台,采用新平台都需要付出努力。OP似乎已经意识到他已经不在堪萨斯了,现在的问题是“我从哪里开始?”而不是“这会有多痛?”我仍然认为你避免IB是错误的,因为它不是做所有事情,而是拥抱它做得好的东西,但如果你是这样感觉的,那就去吧。不需要点名。@Caleb:我从来没有说过要避免IB,我说过不要太依赖它。作为初学者,很容易将IB与用于构建GUI的完整工具混淆:许多人会失望或失望