学习ObjectiveC入门教程全.docx
- 文档编号:2975792
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:66
- 大小:1.57MB
学习ObjectiveC入门教程全.docx
《学习ObjectiveC入门教程全.docx》由会员分享,可在线阅读,更多相关《学习ObjectiveC入门教程全.docx(66页珍藏版)》请在冰豆网上搜索。
学习ObjectiveC入门教程全
学习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。
当然,任何一种开发语言都无法脱离于运行环境,Objective-C也不例外。
所以在本系列当中也会穿插的介绍一些SDK里面的一些特性,主要是数据构造方面,比方说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〔需要购置〕。
关于笔者的写作
笔者利用业余时间进展写作,所以无法对文章发布的时间表做出任何保证,还请各位读者谅解。
但是笔者会尽最大努力在短时间之内完成写作。
由于笔者经历才识所限,在本教程当中难免会遇到遗漏,错误甚至荒唐的地方,所以还请同学们批评指正。
对于已经完成的章节,基于一些条件的改变或者订正,或者大家提出的意见,笔者也会考虑做出适当的修改。
在每一个章节都会有代码的范例,笔者注重阐述根本概念所以代码难免会有不完好或者错误的地方,同学们可以任意的在自己的代码中使用笔者所写的代码,但是笔者不承当由于代码错误给同学们带来的损失。
同学们在阅读本教程的时候,可以直接下载范例代码运行,但是为了熟悉编码的环境以及代码的标准,笔者强烈建议同学们按照教程自己亲自输入代码。
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,新建工程
注意也许有人会问,你不是要讲解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!
〞。
由于我们没有写任何的代码,所以从理论上来说,这局部代码不应该出现编译错误。
好的,从下面开场,笔者要开场对这个HelloWorld里面的一些新颖的东西进展讲解。
,头文件导入
在Java或者C/C++里面,当我们的程序需要引用外部的类或者方法的时候,需要在程序源文件中包含外部的类以及方法的包〔java里面的jarpackage〕或者头文件〔C/C++的.h〕,在Objective-C里面也有相类似的机制。
笔者在这一节里面将要向大家介绍在Objective-C里面,头文件是怎样被包含进来的。
请同学们到Xcode开发环境的左侧窗口里面,点击Source文件夹,然后就在右侧局部看到了代码源文件的列表,找到02-HelloWorld.m之后单击会在Xcode的窗口里面出现,双击鼠标代码会在一个新窗口出现,请同学们按照这种方法翻开"02-HelloWorld.m"。
对于Java程序来说,源程序的后缀为.java,对于C/C++代码来说,后缀为c/cpp,如今我们遇到了.m。
当Xcode看到了.m文件之后,就会把这个文件当作Objective-C文件来编译。
同学们也许会猜到,当Xcode遇到c/cpp,或者java的时候也会对应到相应的语言的。
好的,我们顺便提了一下Xcode对.m文件的约定,如今我们开场从第一行代码讲起,请参看以下代码:
1#import
2
3intmain(intargc,constchar*argv[]){
4NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];
5
6//insertcodehere
7NSLog(@"Hello,World!
");
8[pooldrain];
9return0;
10}
11
有过C/C++经历的同学看到第一行,也许会觉得有些亲切;有过Java经历的同学看到第一行也许也会有一种似曾相识的感觉。
同学们也许猜到了这是干什么用的,没错,这个正是头文件。
不过,在C/C++里面是#include,在java里面是import,这里是#import。
在C/C++里面会有#include互相包含的问题,这个时候需要#ifdef来进展编译的导向,在Xcode里面,同学们可以"放心的"包含各种东西,这个没有关系,因为我们的编译器有足够的“聪明〞,因为同一个头文件只是被导入一次。
除了#import变得聪明了一点之外,和#include的功能是完全一样的。
我们再来看看我们的另外一个新的朋友---Foundation.h。
这个是系统框架Foundationframework的头文件,有了它你可以免费的获取系统或者说苹果公司为你精心准备的一系列方便你使用的系统功能,比方说字符串操作等等。
Foundation框架附属于Cocoa框架集,Cocoa的另外一个框架为ApplicationKit,或者是UIKit,其中前者的应用对象为MACOS,后者的应用对象为iPhoneOS。
本系列入门指南将只是使用Foundation,因为笔者需要向同学们介绍Objective-C的根本使用方法,为了防止过多的新颖东西给同学们造成阅读上的困难,所以命令行就已经足够了。
说到这里,笔者需要澄清一点,其实MACOS的Cocoa和iPhone的Cocoa是不一样的,可以说,其中iPhone是MACOS的一个子集。
,main函数
有过C/C++或者java经历的同学们对第3行代码应该很熟悉
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学习 ObjectiveC 入门教程
![提示](https://static.bdocx.com/images/bang_tan.gif)