学习
Objective-C
入门教程
1,前言
相 信
iPhone
不 久就 要 在½ 内 发布 了 ,和 我 们在 ½ 内可 以 通过 正 规渠 道 买得 到 的
iPodTouch
一样,iPhone 也是一个激动人心的产品。iPhone 发布的同时,基于
iPhone
的程序
也像雨后春笋一样在
iTunes
里面冒出来。
½将来也许会考虑买一个 iPhone,½验一下苹果的富有创意的种种应用;½也
许会考虑向 iTunes 的社区的全世界的人们展示一下½非凡的创意,½然也可以
通过½的创意得到一些意想不到的收益。
OK,½也许迫不及待的准备开发了。½是先等一下,让我们回忆一下最初的电½是怎
么拍摄的。这个很重要,因为和
iPhone
的开发比较类似。
在最初因为器材比较原始,
所以拍摄电½需要很高的技术,那个时候的电½的导
演基本上是可以熟练操½摄½器材的人。随着器材的完善,½用也简单起来。
于
是器材的½用不是决定一个电½的质量的唯一的因素,
取而代之的是故事或者说
电½的创意。
iPhone
的开发也是这样。½然从入门到掌握的过程来说任½事情½是开始比较难,随
着掌握的程度的加深,½将会觉得开发
iPhone
应用程序是一件简单而且½松的事情,到了
那个时候,½的主要的制胜武器就不是开发技术,而是½的创意了。对于½来说,我在这里
写的东西½是有关“摄½器材”也就是介绍如½½用
iPhone
的平台来开发应用程序。
iPhone
的开发语言是
Objective-C。Objective-C
是进行
iPhone
开发的主要语言,掌握了
Objective-C
的基本语法以及数据结构之后,½需要熟悉一下
iPhone
的
SDK。笔者很难做到
在一篇文章里面把所有的东西½介绍清楚,
所以笔者打算分成两个主题,
一个是
Objective-C,
一个是
iPhone
开发。
本系列将侧重于
Objective-C。½然,任½一种开发语言½无法脱离于运行环境,
所以在本系列½中也会穿插的介绍一些
SDK
里面的一些特性,
主要是
Objective-C
也不例外。
数据结构方面,比如说
NSString,NSArray
等等。看到
NSString,NSArray
这些名词,½也许会
感到有些茫然,不过没有关系,随着本系列的深入介绍,½会发现½非常喜欢这些东西。
1.1,谁会考虑阅读本系列
如果½对
iPhone
感兴趣,如果½考虑向全世界的人们展示½的创意,如果½有一颗½
奇心,如果½打算通过开发
iPhone
程序谋生,如果½觉得苹果比
Windows
酷,如果½认为
不懂苹果的话那么就有些不时尚的话,那么可以考虑阅读本系列。
老手也可以考虑花一点时间阅读一下,
可以发帖子和笔者交流切磋。
笔者发布的文章属于公
益写½,旨在为大家介绍
iPhone
开发的一些基础知识,如果可以提供宝贵意见,笔者将不
胜感激。
1.2,需要准备的东西
第一,½需要一台苹果电脑。½然这个不是必需的条件,如果½可以在½的
IntelPC
上
成功安装
MACOS
的话,那么请½略这一条。
第二,½需要去苹果½站上下½½开发工具
XCODE。注意,XCODE
是完全免费的,½是
需要½去注册一个账号才可以下½½。由于
XCODE
不时的在更新,所以如果½的
MACOS
不支
持½下½½的
XCODE
的话,那么½也许需要考虑买一个最新的
MACOS。
第三,½需要至少有
C,C++,或者 JAVA
的背景知识。不过如果½没有,那么也不用担心,
相信阅读了笔者的文章之后应该也可以掌握。
最后需要的东西就不是必须的了,½然有的话会更½一些。这些东西是,开发者账户(需要
付费),iPhone 手机(在部分½家可以免费获得,½是中½会怎么样,笔者不是很清楚),
iPodTouch(需要购买)。
1.3,关于笔者的写½
笔者利用业½时间进行写½,
所以无法对文章发布的时间表做出任½保证,
还请各½读
者谅解。½是笔者会½最大努力在短时间之内完成写½。
由于笔者经验才识所限,在本教程½中难免会遇到遗漏,错误甚至荒谬的地方,所以还
请同学们批评指正。
对于已经完成的章节,基于一些条件的改变或者勘误,或者大家提出的意见,笔者也会
考虑做出适½的修改。
在每一个章节½会有代码的范例,
笔者注重阐述基本概念所以代码难免会有不完整或者
错误的地方,
同学们可以任意的在自己的代码中½用笔者所写的代码,
½是笔者不承担由于
代码错误给同学们带来的损失。同学们在阅读本教程的时候,可以直接下½½范例代码运行,
½是为了熟悉编码的环境以及代码的规范,笔者强烈建议同学们按照教程自己亲自输入代
码。
Objective-C
的概念比较多,而且很多概念½相互交叉。比如说讲解概念
A
的时候,需要
概念
B
的知识,讲解概念
B
的时候需要概念
C
的知识,讲解概念
C
的时候需要概念
A。这样
就给本教程的写½带来了一定的麻烦,
很明显笔者无法在某一个章节里面把所有的概念½讲
述清楚,所以每一章½有侧重点,大家在阅读的时候需要抓½每一章的侧重点,½略一些和
本章内容无关的新的概念和知识。
1.4,本系列的结构
第
1
章,也就是本章
第
2
章,从
Hello,World!开始
第
3
章,类的声明和定义
第
4
章,继承
第
5
章,Class 类型,选择器
Selector
以及½数指针
第
6
章,NSObject 的奥秘
第
7
章,对象的初始化以及实例变量的½用域
第
8
章,类方法以及私有方法
第
9
章,内存管理
第
10
章,到目前为止出现的内存泄漏事件
第
11
章,字符串,数组以及字典
第
12
章,属性
第
13
章,类目(Categories)
第
14
章,协议(Protocols)
第
15
章,Delegate
第
16
章,线程
第
17
章,文件系统
第
18
章,数据系列化以及保存用户数据
第
19
章,½络编程
第
20
章,XML 解析
2,从 Hello,World!开始
本系列讲座有着很强的前后相关性,
如果½是第一次阅读本篇文章,
为了更½的理解本
章内容,笔者建议½最½从本系列讲座的第
1
章开始阅读,请点击这里。
现在笔者假设大家已经有了开发的环境。½了,我们开始构筑我们的第一个程序。
在开始第一个程序之前,
笔者需要提醒大家一下,
如果手里面有开发环境的话并且是第
一次亲密接触
Xcode
的话,
为了可以熟悉开发环境,
强烈建议按照笔者的步骤一步一步的操
½下去。
2.1,构筑 Hello,World
第一步,启动
Xcode。初次启动的时候,也许会弹出一个“WelcometoXcode”的一个对话
框。这个对话框和我们的主题没有关系,我们可以把它关掉。
第二步,选择屏幕上部菜单的“File->NewProject”,出现了一个让½选择项目种类的对话
框。½需要在对话框的左边选择“CommandLineUtility”,然后在右边选择“FoundationTool”,然
后选择“Choose...”按钮。如图
2.1
所示。
图
2-1,新建项目
注意也许有人会问,½不是要讲解
iPhone
的开发,那么为什么不选择“iPhoneOS”下面
的“Application”呢?
是这样的,在这个系列½中,笔者主要侧重于
Objective-C
的语法的讲解,为了½得讲解简
单易懂,
清除掉所有和要讲解的内容无关的东西,
所以笔者在这里只是½用最简单的½令行。
第三步,
Xcode
会提问½项目的名字,
在“SaveAs”里面输入“02-HelloWorld”,
然后选择“Save”。
如图
2-2
所示
图
2-2,输入项目的名字
第四步,得到一个如图
2-3
所示的一个画面。尝试一下用鼠标分别点击左侧窗口栏里面
的“02-HelloWorld”,
“Source”.“Documentation”,
“ExternalFrameworksandLibraries”,
“Products”,
然后观察一下右边的窗口½出现了什么东西。一般来说,“02-HelloWorld”就是项目的名字下
面是项目所有的文件的列表。
项目下面的子目½分别是和这个项目相关的一些虚拟或者实际
上的目½。为什么我说是虚拟的呢?大家可以通过
Finder
打开½的工程文件的目½,½会
发现½的所有文件居然½在根目½下,根本就不存在什么“Source”之类的目½。
图
2-3,项目浏览窗口
第五步,选择屏幕上方菜单的“Run”然后选择“Console”,出现了如图
2-4
所示的画面,
用鼠标点击窗口中间的“BuildandGo”按钮。
图
2-4,运行结果画面
如果不出什么意外的话,大家应该看到我们熟悉得不½再熟悉的“HelloWolrd!”。由于我
评论