新書推薦:
《
Python贝叶斯深度学习
》
售價:NT$
407.0
《
文本的密码:社会语境中的宋代文学
》
售價:NT$
306.0
《
启微·狂骉年代:西洋赛马在中国
》
售價:NT$
357.0
《
有趣的中国古建筑
》
售價:NT$
305.0
《
十一年夏至
》
售價:NT$
347.0
《
如何打造成功的商业赛事
》
售價:NT$
407.0
《
万千教育学前·透视学前儿童的发展:解析幼儿教师常问的那些问题
》
售價:NT$
265.0
《
慈悲与玫瑰
》
售價:NT$
398.0
|
編輯推薦: |
★重点推荐!
Objective-C开发丛书:《深入浅出Objective-C》 《Objective-C程序设计入门与实践》
★经验引领入门
细致入微地讲述了Objective-C语言的基本知识和基础应用实践,帮助读者坚实地迈进iPhoneipad开发门槛。
字里行间融入作者多年开发经验,语言风格平实活泼,范例讲解精炼到位,代码注释详略得当。
http:www.tdpress.comzyzxtsscflwj
|
內容簡介: |
本书详细介绍了Objective-C语言和苹果iOS、Mac平台面向对象程序编程的知识;结合独特的学习方法,在每章都合理嵌入大量的范例,让本书更适合于读者学习和课堂教学。
如果你对iPhoneiPad开发有兴趣,但是没有软件开发经验,本书将是你的首选,它能帮助你迈进开发的门槛,帮你成为一名初级的软件开发人员。对于用其他开发语言编程的人,本书也是一本不错的入门级别的书。如果想成为一名软件开发高手,仅仅靠本书的是不够的,建议掌握本书所介绍的知识之后,加入到苹果开发者中心(https:developer.apple.com.cn),通过苹果官方提供的有关开发材料,来进一步学习,提高自己对iPhoneiPad的框架。
|
關於作者: |
刘一民,数学与应用数学专业,高级软件工程师,近十年的软件开发经验。参加工作以后,一直从事基于Windows、Windows Mobile、Android和iOSiPhone OS 平台上的软件开发,担任过数据分析师、项目经理等职务,从事过酒店、金融证券、建筑和移动通信等行业的软件开发。
目前,就职于北京市九州信诺科技有限公司任高级软件工程师。
主要负责或参与项目:
《中国移动短彩助手》(iPhoneiPad版和Android)
《事务提醒小精灵》(iPhoneiPad版和Android)
《中国移动手机桌面助理》
《基金风险监控、绩效评估与组合管理系统》
《交通银行对公信贷客户财务信息分析预警工》
《SmartPWDM》(Windows mobile版)
《商务会馆管理系统》
《福州移动客服外呼系统》
|
目錄:
|
第1篇 认识Objective-C与iPhone开发
第1章 Objective-C、iOS、iPhone和乔布斯
1.1 认识Objective-C
1.1.1 发展历程及变化
1.1.2 语言性能与分析
1.2 iOS简介
1.2.1 iOS的发展历程
1.2.2 iOS 的设计和功能特性
1.3 iOS架构
1.3.1 Cocoa Touch层
1.3.2 Media(媒体)层
1.3.3 Core Services层
1.3.4 Core OS层
1.4 iPhone简介
1.4.1 iPhone发展历程
1.4.2 iPhone功能
1.4.3 iPhone 特色
1.4.4 iPhone 市场行情
1.5 iOS开发者工具
1.5.1 Xcode
1.5.2 Interface Builder
1.5.3 Instruments
1.5.4 Shark
1.6 乔布斯简介
1.6.1 早年
1.6.2 创建苹果公司及发展
1.6.3 回归苹果及改革
1.6.4 个人成就
第2章 搭建Objective-C应用开发环境
2.1 基于Windows平台搭建开发环境
2.1.1 前期准备
2.1.2 安装虚拟机VMware
2.1.3 安装Mac OS
2.1.4 设置Windows和MAC共享目录
2.1.5 安装iPhone SDK
2.1.6 启动Xcode
2.2 进一步认识Objective-C
2.2.1 类接口(@Interface)
2.2.2 类实现(@Implementation)
2.2.3 创建类对象
2.3 Xcode的命令行工具
2.3.1 使用Xcode的命令行工具
2.3.2 输入和输出函数
2.3.3 指令符(@)
2.4 进一步认识Xcode
2.4.1 工程定义信息
2.4.2 源文件引用
2.4.3 目标的处理
2.4.4 执行环境
第3章 创建你的第一个iPhone应用程序
3.1 示例实现目标
3.2 应用概念概述
3.2.1 设计模式
3.2.2 委托
3.2.3 模型-视图-控制器模式
3.2.4 目标-动作
3.3 教你如何创建工程
3.3.1 使用Xcode
3.3.2 应用程序引导
3.4 如何添加一个视图控制器
3.4.1 添加一个视图控制器类
3.4.2 添加一个视图控制器属性
3.4.3 创建视图控制器实例
3.4.4 如何建立视图
3.4.5 内务处理做些什么
3.4.6 实现源码列表
3.4.7 测试你的应用程序
3.5 查看nib文件
3.5.1 使用Interface Builder
3.5.2 nib文件包含些什么
3.5.3 文件的拥有者
3.5.4 如何使用视图插座变量
3.5.5 如何加载nib文件
3.5.6 测试应用程序
3.6 如何配置视图
3.6.1 添加用户接口元素
3.6.2 视图控制器接口声明
3.6.3 教你如何制定关联
3.6.4 测试
3.7 如何实现视图控制器
3.7.1 视图控制器中的属性
3.7.2 changeGreeting:方法
3.7.3 文本字段的委托
3.8 如何解决编译遇到的疑难
3.8.1 代码和编译器警告
3.8.2 检查nib文件中的关联
3.8.3 委托方法的名称
3.9 下一步做什么
3.9.1 用户接口
3.9.2 编程创建用户接口元素
3.9.3 如何把程序安装到设备
3.9.4 额外的功能
第2篇 Objective-C的一点基础
第4章 Objective-C的一点基础——数据类型和运算符
4.1 基本数据类型
4.1.1 整型
4.1.2 实型
4.1.3 字符型
4.1.4 字符串
4.1.5 枚举类型
4.2 其他常用类型
4.2.1 id类型
4.2.2 布尔值(BOOL)
4.2.3 typedef
4.2.4 nil和Nil
4.2.5 SEL类型
4.3 指针和数组
4.3.1 数据和内存
4.3.2 指针
4.3.3 数组
4.3.4 数组和指针的关系
4.4 表达式和运算符
4.4.1 Objective-C 运算符
4.4.2 表达式和运算优先级
4.4.3 算术运算符
4.4.4 算术表达式
4.4.5 赋值运算符
4.4.6 关系运算符
4.4.7 逻辑运算符
4.4.8 增减运算符
4.4.9 强制类型转换运算符
4.4.10 位运算符
第5章 Objective-C的一点基础——程序控制语句
5.1 条件语句
5.1.1 逻辑运算符
5.1.2 if语句
5.1.3 switch语句
5.1.4 条件运算符
5.2 循环结构
5.2.1 for 语句
5.2.2 while语句
5.2.3 do-while语句
5.2.4 嵌套语句
5.3 跳转语句
5.3.1 break语句
5.3.2 continue语句
5.3.3 return语句
5.4 编译预处理
5.4.1 宏定义(#define)
5.4.2 运算符
5.4.3 #import语句
5.4.4 条件编译
5.5 几个常用特性
5.5.1 关联引用
5.5.2 快速枚举
5.5.3 选择器
5.5.4 静态类型的使用
第6章 Objective-C的一点基础——算法
6.1 认识算法
6.1.1 什么是算法
6.1.2 算法有哪些特性
6.2 算法的表达方式
6.2.1 用自然语言表达算法
6.2.2 用流程图表达算法
6.2.3 用N-S流程图表达算法
6.2.4 用伪代码表达算法
6.2.5 用计算机语言表达算法
6.3 排序
6.3.1 简单排序
6.3.2 高级排序
6.3.3 其他排序
6.4 递归算法
6.4.1 认识递归算法
6.4.2 递归算法的简单应用
第3篇 充实你的Objective-C知识
第7章 充实你的Objective-C知识——类
7.1 认识根类
7.1.1 NSObject简介
7.1.2 根类和协议
7.1.3 根类方法
7.1.4 根类接口规范
7.1.5 根类实例方法和类方法
7.2 如何设计类
7.2.1 设计接口(@interface)
7.2.2 设计实现(@implementation)
7.3 变量的种类
7.3.1 何为局部变量
7.3.2 何为全局变量
7.3.3 何为实例变量
7.3.4 何为静态(static)变量
7.3.5 变量的存储类别
7.4 认识属性
7.4.1 如何声明属性(@property)
7.4.2 声明属性的特性
7.4.3 如何实现属性(@synthesize)
7.4.4 属性类型和相关函数
7.4.5 认识属性的类型编码
7.4.6 如何实现属性重声明
7.4.7 如何修改父类的属性
7.4.8 新旧版本属性运行时的区别
7.5 探究方法
7.6 继承
7.6.1 如何继承父类的实例变量
7.6.2 如何继承父类的方法
7.6.3 如何重写(override)方法
7.6.4 如何重载(overload)方法
7.6.5 何时进行方法的重载
7.6.6 何时使用子类
7.6.7 类别(Categories)和延伸(Extensions)
7.7 异常处理
7.7.1 如何启用异常处理
7.7.2 异常处理方式
7.7.3 如何捕捉不同类型的异常
7.7.4 如何抛出异常
7.8 如何使用类名
7.9 类怎样进行比较
7.10 类类型
7.10.1 如何指定静态类型
7.10.2 类型的自查处理机制
第8章 充实你的Objective-C知识——消息和协议
8.1 消息
8.1.1 认识消息语法
8.1.2 如何向nil发送消息
8.1.3 接收实例变量
8.1.4 如何获得方法地址
8.1.5 了解objc_msgSend函数
8.1.6 如何使用隐藏的参数
8.1.7 消息转发处理的机制
8.1.8 消息转发和多重继承
8.1.9 何为消息代理对象
8.1.10 消息转发和类继承
8.1.11 认识多态性
8.1.12 如何实现动态绑定
8.1.13 解析动态方法
8.1.14 如何使用动态加载
8.1.15 “.”语法格式
8.2 协议
8.2.1 何为预定义接口
8.2.2 如何使用预定义方法
8.2.3 为匿名对象声明接口
8.2.4 非层级关系的相似(Nonhierarchical Similarities)
8.2.5 何为正式协议
8.2.6 何为非正式协议
8.2.7 何为协议对象
8.2.8 如何采用一个协议
8.2.9 如何服从一个协议
8.2.10 类型校验处理机制
8.2.11 如何协议嵌套协议
8.2.12 引用其他协议
第9章 充实你的Objective-C知识——对象
9.1 如何创建对象
9.1.1 对象分配处理的机制
9.1.2 对象初始化
9.1.3 使用dealloc方法
9.1.4 何为类工厂方法
9.2 对象动态类型
9.3 探究对象的可变性
9.3.1 什么时候用可变或不可变对象
9.3.2 使用可变对象编程
9.4 对象间如何实现通信
9.4.1 面向对象程序中的通信有哪些
9.4.2 IBoutlet变量如何实现通信
9.4.3 委托和数据源
9.4.4 可视化通信形式——目标-动作机制
9.4.5 特定通信形式——绑定
9.4.6 特定通信形式——通告
9.4.7 委托、观察者和目标的所有权
9.5 对象的生命周期
9.6 对象的所有权和销毁
9.6.1 对象所有权策略有哪些
9.6.2 保留计数的处理机制
9.6.3 何时使用自动释放
9.6.4 共享对象的有效性
9.6.5 如何使用存取方法
9.6.6 如何回收对象
9.6.7 通过引用返回的对象
9.6.8 保留循环的处理机制
9.6.9 何为对象的弱引用
9.6.10 如何有效地进行资源管理
第10章 充实你的Objective-C知识——基础(Foundation)框架
10.1 Foundation框架结构
10.2 与Core Foundation框架的区别
10.3 如何引用及查询Foundation框架信息
10.4 数字类型
10.4.1 数字类型类(NSNumber)
10.4.2 int、NSInteger、NSUInteger和NSNumber的区别及联系
10.5 字符串类型
10.5.1 不可变字符串类(NSString)
10.5.2 可变字符串类(NSMutableString)
10.6 数组类型
10.6.1 不可变数组类(NSArray)
10.6.2 可变数组类(NSMutableArray)
10.6.3 多维数组
10.7 字典(Dictionary)类型
10.7.1 不可变字典类(NSDictionary)
10.7.2 可变字典类(NSMutableDictionary)
10.8 日期(Date)类型
10.8.1 日期类型类(NSDate)
10.8.2 NSCalendar和NSDateComponents
10.8.3 应用日期类型类
第4篇 提高你的Objective-C知识
第11章 提高你的Objective-C知识——内存管理
11.1 内存管理规则
11.2 基本的内存管理
11.2.1 普及内存管理基础知识
11.2.2 几个简单的内存管理应用
11.2.3 何为存取方法
11.2.4 如何应用存取方法
11.2.5 致使内存管理混乱的因素
11.3 何为自动释放池
11.3.1 非 Application Kit 程序中的自动释放池
11.3.2 自动释放池和线程
11.3.3 作用域和嵌套自动释放池的关系
11.3.4 何为所有权策略
11.3.5 如何实现垃圾回收
11.4 内存中复制的处理机制
11.4.1 使用深复制还是浅复制
11.4.2 何时使用alloc和init方式
11.4.3 何时使用NSCopyObject
11.4.4 如何实现可变和不可变对象的复制
11.5 nib 对象的内存管理
11.5.1 插座(IBoulet)实现的内存管理机制
11.5.2 iNib文件实现的内存管理机制
第12章 提高你的Objective-C知识——文件和数据管理
12.1 文件访问的指导原则
12.2 文件的管理
12.2.1 iPhone常用目录
12.2.2 程序目录路径的获取
12.2.3 更新过程中的文件保存
12.2.4 文件的备份和恢复
12.3 数据的读写
12.3.1 文件数据的读写
12.3.2 属性列表数据的读写
12.3.3 用归档器对数据进行读写
12.3.4 将数据写到Documents目录
12.3.5 从Documents目录对数据进行读取
12.4 文件保存处理机制
12.5 SQLite 3
12.5.1 数据类型
12.5.2 常用函数及返回编码
12.5.3 数据库的创建、打开和关闭
12.5.4 表的创建
12.5.5 数据操作语句(insert、update和delete)
12.5.6 数据库查询(select)
第13章 提高你的Objective-C知识——UIKit常用类及应用
13.1 分类
13.2 显示视图
13.2.1 标签(Label)
13.2.2 图片视图(ImageView)
13.2.3 进度条视图(ProgressView)
13.2.4 ActivityIndicatorView
13.3 控件
13.3.1 按钮(Button)
13.3.2 文本框(TextField)
13.3.3 滑块(Slider)
13.3.4 切换开关(Switch)
13.4 导航视图
13.4.1 导航栏(NavigationBar)
13.4.2 标签栏(TabBar)
13.5 警告视图和动作表单
13.5.1 警告视图(AlertView)
13.5.2 动作表单(ActionSheet)
13.6 文本和Web视图
13.6.1 文本视图(TextView)
13.6.2 Web视图(WebView)
13.7 容器
13.7.1 表格视图(TableView)
13.7.2 滚动视图(ScrollView)
13.7.3 工具栏(ToolBar)
13.8 其他常用类型
13.8.1 分页控件(PageControl)
13.8.2 搜索栏(SearchBar)
第5篇 应用你的Objective-C知识
第14章 应用你的Objective-C知识——开发基于iPhone的弹球游戏
14.1 认识Cocos2D
14.2 如何安装Cocos2D-iPhone
14.3 整体框架和启动流程
14.3.1 项目框架
14.3.2 启动流程
14.4 技术点
14.4.1 何为游戏引擎
14.4.2 认识节点(Node)
14.4.3 认识场景(Scene)
14.4.4 认识层(Layer)
14.4.5 认识标签(Label)
14.4.6 认识动作(Action)
14.4.7 认识导演(Director)
14.4.8 精灵(Sprite)
14.4.9 刚体
14.4.10 Box2D
14.4.11 Box2D与Chipmunk的差异性
14.5 项目的设计和实现
14.5.1 游戏实现什么目标
14.5.2 项目的先期需要准备什么
14.5.3 AppDelegate类的设计和实现
14.5.4 场景和层的设计与实现
14.5.5 tick方法的完善
14.5.6 如何设计球拍(Paddle)
14.5.7 球反弹的优化处理
14.5.8 使用碰撞检测的意义
14.5.9 为什么添加块(Block)
14.5.10 给游戏添加音乐
14.5.11 添加游戏胜利条件
14.5.12 如何添加结束场景
14.5.13 游戏有待完善之处
第15章 应用你的Objective-C知识——开发基于iPad的精灵小书柜
15.1 系统的总体设计方案
15.1.1 系统组成描述
15.1.2 系统模块间的关系
15.2 技术点
15.2.1 视图(UIView)动画
15.2.2 UIScrollView、UITableView和UITableViewCell
15.2.3 UITextView、UIToolbar和UIBarButtonItem
15.3 项目框架和启动流程
15.3.1 项目框架
15.3.2 启动流程
15.4 项目的设计和实现
15.4.1 如何组装成小书柜
15.4.2 书和报刊如何在小书柜上展示
15.4.3 如何实现多面书柜的组成
15.4.4 书和报刊的模板展示设计
15.4.5 如何实现书和报刊封面与内容关联
15.4.6 如何实现动感的向下翻页效果
15.4.7 如何实现动感的向上翻页效果
15.4.8 如何实现手势识别处理
15.4.9 如何返回小书柜界面
15.4.10 系统有待完善之处
|
內容試閱:
|
我经常在探亲或者出差的车上,遇到那些曾经跟我类似的青年,特别是那些正要或者刚毕业的学生。在交流的时候,遇到最大的困惑,虽然他们有很强烈地加入到软件开发队伍中来的激情,但是由于在学校的学习主要是理论基础知识的夯实,造成他们所掌握的实践应用知识很有限,因此他们感觉自己没有掌握什么,没有什么东西可拿得出手,以至于他们很多人缺乏自信,特别是参加过几场人才招聘交流会后。同时,他们很多人认为从事软件行业的人都是“很厉害”的“主”。
如何加入软件开发团队?
难道加入软件开发团队真的很难吗?不难,只要你有梦想有激情,有强烈的学习欲望,有较强逻辑思维能力和一定的英语基础,热爱软件开发工作,同时能做到持之以恒,相信你不但能成为一名职业的软件开发工程师,而且还能成为一名优秀的软件开发工程师。其中如何判断自己逻辑思维能力是否强,其实很简单,只要你的数学学得不错,基本上就能证明你的逻辑思维能力不错。作为一名优秀的软件开发工程师,英语的阅读能力也是必不缺少的,因为很多技术资料,特别是一些新兴的技术资料,往往都是用英语来写的,这就要求从事软件这个行业,需要有一定的英语阅读能力。在生活中,很多时候,不是某个行业把自己拒之门外,而是自己把这个行业拒之门外。
如果你对软件开发有兴趣,同时具备上述条件,如果你不想再靠父母的羽翼呵护——拥有自己的独立生活,那就加入到软件的开发团队,靠自己养活自己,乃至靠自己的能力组建自己的家庭,创建自己的事业。这个行业的收入相比较而言,还算是一个不错的;同时这个行业也是一个靠能力说话的行业。
同时,这个行业又是一个充满激情的行业,也许你就可能是中国未来的比尔·盖茨或者乔布斯。在我以前的同事中,就有两个人,一个初中毕业一个电大函授毕业,他们在这个行业都做的很不错,不比什么所谓的重点大学本科或者研究生差,他们都早已成为这个行业的技术骨干,在北京和上海等地方都置办有自己的产业。但是进入这个行业,企图靠“天上掉馅饼”,自己不努力,自己不好好自学,想“混”下去,也是很难立足的,很容易被淘汰。我提到这两个同事,是什么使他们能做的这么优秀?正是由于他们肯于上进肯于好学,他们为了提高自己的技术,狂补大量知识,特别是英语和高等数学的相关知识。
因此,不管你是将要毕业或者是已经毕业的,不管你是计算机专业毕业的还是非计算机专业毕业的,不管是大学毕业的还是中学毕业的,你都可以加入到软件开发团队中,只要肯努力肯上进,相信不久,一定会给你带来更加精彩的生活。
注意:对于高校在读的学生,建议最好有一个规划,早做一些准备,不管加入到软件行业团队还是其他行业团队,避免毕业了还要依赖父母养活自己,做“啃老族”,“断不了奶”。
为什么要学习Objective-C?
1.在最近几年中,Objective-C是编程语言中应用增速最快的编程语言
2.Objective-C作为iPhoneiPad框架的原生态语言
iPhoneiPad框架选择了Objective-C作为iPhoneiPad框架的原生态语言有许多方面的原因。
? 首先,也是最主要的原因之一,它是一个面向对象的语言。iPhoneiPad框架框架中的很多功能只能通过面向对象的技术来呈现。
? 其次,是标准C语言的一个超集,现存的C程序无须重新开发就能够使用iPhoneiPad软件框架,并且你可以在Objective-C中使用C的所有特性。可以选择什么时候采用面向对象的编程方式(例如定义一个新的类),什么时候使用传统的面向过程的编程方式(定义数据结构和函数而不是类)。
? 此外,Objective-C是一个简洁的语言,它的语法简单,没有歧义,并且易于学习。 因为易于混淆的术语以及抽象设计的重要性,对于初学者来说,面向对象编程的学习曲线比较陡峭。像Objective-C这种结构良好的语言使我们成为一名熟练的面向对象程序员更为容易。本书介绍Objective-C的章节也如同其语言本身一样简洁。
? 和其他的基于标准C语言的面向对象语言相比,Objective-C对动态机制支持得更为彻底。编译器为运行环境保留了很多对象本身的数据信息,因此某些在编译时需要做出的选择就可以推迟到运行时来决定。这种特性使得基于Objective-C的程序非常灵活和强大。例如,Objective-C的动态机制提供了两个一般面向对象语言很难提供的优点:Objective-C支持开放式的动态绑定,从而有助于交互式用户接口架构的简单化。例如,在Objective-C中发送消息既无须考虑消息接收者的类也不用考虑方法的名字,从而可以允许用户在运行时再做出决定,也给了开发者在设计时极大的自由。Objective-C的动态机制成就了各种复杂的开发工具。运行环境提供了访问运行中程序数据的接口,所以使得开发工具监控Objective-C程序成为可能。
3.iPhoneiPad SDK用的是Objective-C开发语言
这样就可以更容易理解苹果的文档和使用iPhoneiPad SDK的功能。现今流行的诸如Facebook Connect、OpenFeint和Cocos2D等同样也是用Objective-C编写的,因此这些功能可以很容易地整合到自己的软件里面。
4.作为编程语言来说,Objective-C有很悠久的历史
它在20世纪80年代早期由Stepstone公司发明,作者是Brad Cox和Tom Love。20世纪80年代后期,NeXT计算机有限责任公司获得了使用Objective-C来开发NeXTStep框架的授权,也就是后来的Cocoa。NeXT在多方面对Objective-C进行了扩展,例如协议部分。
注意:即使你已经掌握了其他的编程语言,我还是建议你学习Objective-C。虽然我已经使用Pascal、C++和C#很多年,但是初次看到Objective-C的语法时,特别是Objective-C的函数定义方式总感觉怪怪的,有些不大喜欢这种已经很古老和过时的语言。但是再继续看下去,就会很容易被这种独特的语言风格所折服,同时也会感受到微软公司与苹果公司在“精致度”上的差距,回首展望,不得不佩服乔布斯的独特眼光。
本书适合哪些读者?
? 对软件开发有兴趣的人,特别是对iPhoneiPad开发有兴趣的人。
? 想成为一名软件开发人员,不管你是否是计算机专业毕业,不管你是什么学历,只有你有梦想,有激情。
? 在校的学生,适合把本书作为学习计算机软件开发的教程。
? 有一定的软件开发经验,想了解一些有关iPhoneiPad软件开发方面的知识。
你将会到学到什么?
本书是一门iPhoneiPad开发入门级别的书,本书的最大目标,就是引导你如何入门,不管你是将要毕业或者已经毕业的,不管你是计算机专业毕业的还是非计算机专业的毕业的,不管是大学毕业还是中学毕业,只要你有梦想,有激情,通过本书你将会学到iPhoneiPad入门开发所需要掌握的基本知识,掌握这些知识,可以使你迈进iPhoneiPad开发那道门槛,当然成为一名iPhoneiPad软件开发高手,你还需要学习更多的知识,所以希望阅读本书完毕,继续深造自己,使自己不断“更上一层楼”!
你该如何阅读本书?(本书的章节安排)
本书的内容从形式上可以分为五部分,共15个章节。首先,将会介绍iOS平台开发的基础内容:其中包括了iOS平台开发技术、了解一下iOS的发展史、Objectvie-C应用开发环境的搭建以及初次感受一下iPhone开发,经过这一部分使读者对有关iPhoneiPad开发有一个大致的了解,同时感受一下iPhone开发过程;其次,介绍Objective-C语言基础知识,这也是本书的基础点;然后,以面向对象的角度,同时结合Objective-C语言的特性,对类、消息和协议、对象以及基础(Foundation)框架继续讲解,来进一步了解Objective-C,这一部分是本书的重点部分;然后,以性能的角度,从内存管理、文件和数据管理以及UIKit常用类及应用,来进一步深化对Objective-C介绍;最后,是实践环节,通过两个案例,把前面学到知识应用到实践中,使读者真正体验和了解到软件开发的过程。
在章节安排上,采取循序渐进的方式,使读者,特别是没有一点计算机软件开发经验的人,能够轻松阅读本书,尽可能减少理解上的障碍。如果你是有一定开发经验的软件人员,可以直接跳过第4章~第6章。
感恩致谢
在漫长的写作中,终于可以停下笔来,放松一下。我这个人,要是一件事情做不完,就很难放松下来。在这几个月中,写作主要靠下班之后或者周末来完成,身体有些超负荷运转,有时候想停下来,但是看着自己写出来一页又一页,自己又不免鼓励自己。在写作的过程,经常需要与审稿老师刘霞就写作的问题进行沟通,自己情绪低落的时候,不免会把自己低落情绪转加到她身上,所以这本书能坚持写完,在很大程度上,要感谢她的耐心和细心,使我在写作过程中,渡过一道又一道难关。
希望将此书献于我的宝宝和母亲!母亲远离故土,来帮我照看孩子和安排家中的生活起居,才能让我有时间静下心来写作。写累的时候,带宝宝在小区玩耍,我发现是一种有效的减缓疲劳的方式,同时又锻炼了我的身体,感谢他给我带来快乐,带来平淡中不时有惊喜的生活。
最后,感谢的就是你,我亲爱的读者,感谢你拿起这本书,你们的认可,就是我的最大的快乐。
刘一民
2013年6月
|
|