Objective-C 2.0 with Cocoa Foundation 1 前言
1,前言
相信iPhone不久就要在国内发布了,和我们在国内可以通过正规渠道买得到的iPod Touch一样,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,需要准备的东西
工欲善其事,必先利其器。 《论语·魏灵公》
第一,你需要一台苹果电脑。当然这个不是必需的条件,如果你可以在你的Intel PC上成功安装MAC OS的话,那么请忽略这一条。
第二,你需要去苹果网站上下载开发工具XCODE。注意,XCODE是完全免费的,但是需要你去注册一个账号才可以下载。由于XCODE不时的在更新,所以如果你的MAC OS不支持你下载的XCODE的话,那么你也许需要考虑买一个最新的MAC OS。
第三,你需要至少有C,C++,或者JAVA的背景知识。不过如果你没有,那么也不用担心,相信阅读了笔者的文章之后应该也可以掌握。
最后需要的东西就不是必须的了,当然有的话会更好一些。这些东西是,开发者账户(需要付费),iPhone手机(在部分国家可以免费获得,但是中国会怎么样,笔者不是很清楚) ,iPod Touch(需要购买)。
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解析
上面带连接的章节是已经完成的章节,否则就是还没有发布的。发布过的讲座的内容可能会更新,甚至本系列讲座的结构会发生改变。
转自:http://www.cnblogs.com/yaski/archive/2009/03/27/1423083.html
Objective-C 2.0 with Cocoa Foundation 1 前言相关推荐
- Objective-C 2.0 with Cocoa Foundation --- 3,类的声明和定义
3,类的声明和定义 本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . 上一章 我 们写了一个非常简单的Ob ...
- Objective-C 2.0 with Cocoa Foundation --- 2,从Hello,World!开始
2,从Hello,World!开始 本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . 现在笔者假设大家已经 ...
- Objective-C 2.0 with Cocoa Foundation--- 5,Class类型,选择器Selector以及函数指针
5,Class类型,选择器Selector以及指针函数 系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . 上 ...
- Objective-C 2.0 with Cocoa Foundation--- 8,类方法以及私有方法
8,类方法以及私有方法 本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . Objective-C里面区别于 ...
- Objective-C 2.0 with Cocoa Foundation--- 7,对象的初始化以及实例变量的作用域
7,对象的初始化以及实例变量的作用域 本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . 到目前为止,我们都 ...
- Objective-C 2.0 with Cocoa Foundation--- 4,继承
4,继承 本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . 上一章 笔 者介绍了一下在Objective- ...
- Core Foundation 与 cocoa Foundation框架区别
Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能.下面列举该框架支持进行管理的数据以及可提供的 ...
- Objective-C 2.0 with Cocoa Foundation--- 6,NSObject的奥秘
6,NSObject的奥秘 本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . 在上一章里 面,笔者向大家介 ...
- Objective-C 2.0 with Cocoa Foundation--- 9,内存管理
9.1前言 内存管理在objective-C 2.0中是非常重要的,内存管理做得好不好,最直观的就是反应在你的程序crash上面.想要你的程序健壮稳定,那么请务必搞明白内存管理. 9.2 object ...
最新文章
- Kafka核心设计与实践原理总结:进阶篇
- ASP.NET远程连接数据库SQL server
- 【UML】如何记忆UML类图的画法
- 漫话:如何给女朋友解释什么是HTTP
- 《测试驱动开发》学习笔记
- python中异常和错误是一个概念_Python的异常概念介绍以及处理
- XenApp共享桌面打开文件警告与桌面文件由于Internet文件安全设置无法打开解决办法...
- 《Springboot极简教程》Springboot使用Kotlin和Java混合编程
- androidsdcard挂载目录_Android获取手机自带SDCard和外置SDCard路径
- Pytest之skip、skipif、xfail
- 推理集 —— 举一反三
- matlab循环取出矩阵的某一行并标示上A1 A2 A3
- 继承接口Java多线程(二)、启动一个线程的3种方式
- 微信公众号验签过程详解--前端和后端的操作
- java如何获取全部省市_纯java获取省市区
- STM32单片机初学1-STM32介绍
- mac 输入法/键盘 锁定
- 打开caj文件显示服务器忙,欢迎使用CAJViewer-常见问题
- HSB”、lab、CMYK、RGB有什么区别
- 高数 | 反函数常见问题解决思路
热门文章
- 信息学奥赛C++语言: 素数回文数的个数
- 信息学奥赛C++语言:斐波那契第n项
- 36 MM配置-采购-采购订单-采购订单审批-编辑特性
- c++基础语句(条件判断)
- datetimepicker获取年月日_bootstrap-datetimepicker 获取时间
- python实现根据文件名找出(拷贝/剪切)同名文件的不同类型文件
- (SRNTT)Image Super-Resolution by Neural Texture Transfer
- phpcmsV9 如何开启wap手机站点
- java三判式,Java编程设计模式,第 3 部分
- python实现进程通信_Python通过4种方式实现进程数据通信