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 前言相关推荐

  1. Objective-C 2.0 with Cocoa Foundation --- 3,类的声明和定义

    3,类的声明和定义 本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . 上一章 我 们写了一个非常简单的Ob ...

  2. Objective-C 2.0 with Cocoa Foundation --- 2,从Hello,World!开始

    2,从Hello,World!开始 本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . 现在笔者假设大家已经 ...

  3. Objective-C 2.0 with Cocoa Foundation--- 5,Class类型,选择器Selector以及函数指针

    5,Class类型,选择器Selector以及指针函数 系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . 上 ...

  4. Objective-C 2.0 with Cocoa Foundation--- 8,类方法以及私有方法

    8,类方法以及私有方法 本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . Objective-C里面区别于 ...

  5. Objective-C 2.0 with Cocoa Foundation--- 7,对象的初始化以及实例变量的作用域

    7,对象的初始化以及实例变量的作用域 本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . 到目前为止,我们都 ...

  6. Objective-C 2.0 with Cocoa Foundation--- 4,继承

    4,继承 本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . 上一章 笔 者介绍了一下在Objective- ...

  7. Core Foundation 与 cocoa Foundation框架区别

    Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能.下面列举该框架支持进行管理的数据以及可提供的 ...

  8. Objective-C 2.0 with Cocoa Foundation--- 6,NSObject的奥秘

    6,NSObject的奥秘 本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里 . 在上一章里 面,笔者向大家介 ...

  9. Objective-C 2.0 with Cocoa Foundation--- 9,内存管理

    9.1前言 内存管理在objective-C 2.0中是非常重要的,内存管理做得好不好,最直观的就是反应在你的程序crash上面.想要你的程序健壮稳定,那么请务必搞明白内存管理. 9.2 object ...

最新文章

  1. Kafka核心设计与实践原理总结:进阶篇
  2. ASP.NET远程连接数据库SQL server
  3. 【UML】如何记忆UML类图的画法
  4. 漫话:如何给女朋友解释什么是HTTP
  5. 《测试驱动开发》学习笔记
  6. python中异常和错误是一个概念_Python的异常概念介绍以及处理
  7. XenApp共享桌面打开文件警告与桌面文件由于Internet文件安全设置无法打开解决办法...
  8. 《Springboot极简教程》Springboot使用Kotlin和Java混合编程
  9. androidsdcard挂载目录_Android获取手机自带SDCard和外置SDCard路径
  10. Pytest之skip、skipif、xfail
  11. 推理集 —— 举一反三
  12. matlab循环取出矩阵的某一行并标示上A1 A2 A3
  13. 继承接口Java多线程(二)、启动一个线程的3种方式
  14. 微信公众号验签过程详解--前端和后端的操作
  15. java如何获取全部省市_纯java获取省市区
  16. STM32单片机初学1-STM32介绍
  17. mac 输入法/键盘 锁定
  18. 打开caj文件显示服务器忙,欢迎使用CAJViewer-常见问题
  19. HSB”、lab、CMYK、RGB有什么区别
  20. 高数 | 反函数常见问题解决思路

热门文章

  1. 信息学奥赛C++语言: 素数回文数的个数
  2. 信息学奥赛C++语言:斐波那契第n项
  3. 36 MM配置-采购-采购订单-采购订单审批-编辑特性
  4. c++基础语句(条件判断)
  5. datetimepicker获取年月日_bootstrap-datetimepicker 获取时间
  6. python实现根据文件名找出(拷贝/剪切)同名文件的不同类型文件
  7. (SRNTT)Image Super-Resolution by Neural Texture Transfer
  8. phpcmsV9 如何开启wap手机站点
  9. java三判式,Java编程设计模式,第 3 部分
  10. python实现进程通信_Python通过4种方式实现进程数据通信