代码改变世界

iPad and iPhone Application Development 系列笔记一

2011-12-07 22:15  Nathan 暴  阅读(260)  评论(0编辑  收藏  举报

iPad and iPhone Application Development 是斯坦福大学的最新的一个讲授iOS开发的公开课,点击这里。 我在这里写下自己的笔记。

 

第一讲 主要介绍了以下几个方面:

1、iOS简介

2、iOS的架构

3、MVC 简介

4、Objective-C 简介

 

iOS简介

iPhone开发是一件非常好玩和酷的事情。你想一下,当你见到一个朋友,你从兜里掏出手机说“嗨,哥们这是我开发的” ,那个场景是不是很兴奋啊。反正这是我非常想要看到的一个场面。苹果公司为了方便用户开发实际已经做了大量的工作,在iOS平台开发应用是件非常简单的事情。包括将来你如何去销售你的应用都很方便。实际上你只要上传到App Store就OK了。剩下的事就是在家等着数钱吧。另外,iOS平台还拥有非常活跃的社区,会对你的开发起到很大的帮助作用。

iOS开发是完全采用面向对象的方式,使用MVC的设计模式。

iOS的架构体系可以分为4层,Core OS, Core Services, Media, Cocoa Touch。Core OS 最接近底层,包括OSX Kernel, Mach 3.0, BSD, Sockets, Security等,我们不会对这一层进行编码。Core Services包括Collections, Address Book, Networking, File Access, Sqlite等。Media包括Core Audio, OpenAL, Audio Mixing, Video Playback等 。Cocoa Touch包括Multi-Touch, Core Motion, Web View, Controls, View Hierarchy等。

 

开发环境上,使用的工具是Xcode 4,语言是小Objective-C, 类库包括Fundation和UIkit,设计模式采用MVC。

 

MVC简介

在变成的时候把对象划分为3个部分。Model、View、Controller 。Model用来表示你的应用是什么,注意不是你的应用表现为什么。如果形象点儿比喻,Model就是应用的大脑。Controller是用来表示你的Model是如何呈现给用户的。View是用户看到并与之交互的界面。controller可以直接和Model通话,也可以直接和View通话。但是,Model和View之间不能直接通信。View想要Controller做出响应,一般通过一种绑定的形式(通常是我们一拖)。View并不知道使用那个Controller.一种常见的方式是target & action . Controller把自己作为一个target 然后响应一个action。有时候View需要和Controller同步。这时候Controller把自己做为View的代理,通过事先约定好的协议进行同步。View并不拥有他要显示的数据,所以当需要是,通过写来来获取他。所以Controller是View的数据源。Model同样不能直接和Controller对话,Model是不依赖UI的。当Model发生更新时,通过Notification和KVO的方式通知Controller。

 

Objective-C简介

是一个C的超集,所以完全兼容C。也就是说,在代码里使用C的语法完全合法。但是Objective-c是一个全新的语言,就是说你不懂C也完全可以搞iOS开发。这个语言有一点“非同凡响”,这大概是一些用过其他语言的人会觉得其有点儿怪的原因。 

 

下一节会更详细的去讲Objective-C