为你推荐
内容提要
前言
本书特色
读者对象
售后服务
第一篇 基础知识
第1章 认识“进步”最快的Objective-C语言
1.1 最耀眼的新星
1.1.1 一份统计数据
1.1.2 Objective-C的走红过程
1.1.3 究竟何为Objective-C
1.1.4 苹果公司选择Objective-C的原因
1.2 Objective-C的优点和缺点
1.3 搭建Objective-C开发环境
1.3.1 Xcode介绍
1.3.2 下载Xcode7
1.3.3 安装Xcode 7
1.3.4 创建iOS 9项目并启动模拟器
1.3.5 打开现有的iOS 9项目
1.4 第一段Objective-C程序
1.4.1 使用Xcode编辑代码
1.4.2 注释
1.4.3 #import指令
1.4.4 主函数
1.5 Xcode集成开发环境介绍
1.5.1 基本面板
1.调试工具栏
2.导航面板介绍
3.文件检查器面板
1.5.2 Xcode 7的基本操作
1.改变公司名称
2.通过搜索框缩小文件范围
3.格式化代码
4.代码缩进和自动完成代码
5.文件内查找和替换
6.快速定位到代码行
7.快速打开文件
8.使用书签
9.自定义导航条
10.使用Xcode帮助
11.调试代码
1.5.3 使用Xcode 7帮助系统
1.使用“快速帮助面板”
2.使用搜索功能
3.使用编辑区的快速帮助
第二篇 核心语法
第2章 常量、变量和数据类型
2.1 标识符和关键字
2.2 数据类型和常量
2.2.1 整数类型
2.2.2 float类型和double类型
1.实型常量
2.实型变量
2.2.3 char类型
2.2.4 字符常量
2.2.5 id类型
2.2.6 限定词
1.long
2.long long
3.short
4.unsigned
5.signed
2.2.7 基本数据类型小结
2.2.8 NSLog函数
2.3 变量
2.3.1 定义变量
2.3.2 统一定义变量
2.4 字符串
第3章 运算符和表达式
3.1 运算符的种类
3.2 算术表达式
3.2.1 初步了解运算符的优先级
3.2.2 整数运算和一元负号运算符
3.2.3 模运算符
3.2.4 整型值和浮点值的相互转换
3.2.5 类型转换运算符
3.2.6 常量表达式
3.3 条件运算符
3.4 sizeof运算符
3.5 关系运算符
3.6 强制类型转换运算符
3.7 赋值运算符
3.7.1 基本赋值运算符
3.7.2 高级赋值运算符
3.7.3 通过计算器类演示运算符的用法
3.8 位运算符
3.8.1 按位与运算符
3.8.2 按位或运算符
3.8.3 按位异或运算符
3.8.4 求反运算符
3.8.5 向左移位运算符
3.8.6 向右移位运算符
3.8.7 头文件
3.9 逻辑运算符
3.10 逗号运算符
3.11 运算符小结
第4章 选择结构
4.1 顺序结构和选择结构
4.2 if语句
4.2.1 单分支结构
4.2.2 双分支结构
4.2.3 复合条件测试
4.2.4 if语句的嵌套
4.2.5 else if结构
4.3 switch语句
4.3.1 switch语句基础
4.3.2 任何两种情况的值都不能相同
4.3.3 switch语句小结
第5章 循环结构
5.1 语句
5.2 流程控制介绍
5.3 for循环语句
5.3.1 for循环基础
5.3.2 for语句的执行步骤
5.3.3 让for循环执行适当的次数
5.3.4 for循环嵌套
5.3.5 for循环的其他用法
5.4 while语句
5.4.1 基本while语句
5.4.2 算法在编程中的意义
5.4.3 while语句的陷阱
5.4.4 do-while语句
5.5 break语句
5.6 continue语句
5.7 goto语句
5.8 空语句
5.9 return语句
5.10 Boolean变量
第三篇 面向对象
第6章 面向对象——类、对象和方法
6.1 面向对象介绍
1.以原型对象为基础产生新的对象
2.以类为基础产生新对象
6.2 对象建模技术
6.2.1 功能模型
6.2.2 对象模型
6.2.3 动态模型
6.3 类的基础知识
6.3.1 类和实例
6.3.2 方法
6.3.3 实例和方法
6.3.4 认识Objective-C中的类
6.4 使用@interface定义类
6.4.1 设置科学的类名
6.4.2 实例变量
6.5 使用@implementation声明成员
6.6 program具体实现部分
6.7 类的使用
6.7.1 类的初始化
6.7.2 使用类实例
6.7.3 使用类的好处
6.8 类的高级应用
6.8.1 访问实例变量并封装数据
6.8.2 尽量分离接口和实现文件
6.9 隐藏和封装
6.9.1 什么是封装
6.9.2 访问控制符
6.9.3 合成存取器方法
6.9.4 使用点运算符访问属性
6.10 多参方法
6.10.1 不带参数名的方法
6.10.2 操作分数
6.11 局部变量
6.11.1 方法的参数
6.11.2 static关键字
6.11.3 self关键字
6.12 在方法中分配和返回对象
第7章 面向对象——继承
7.1 从根类谈起
7.1.1 继承的好处
7.1.2 继承的使用
7.1.3 进一步理解继承的概念
7.1.4 重写方法
7.2 方法重载
7.2.1 方法重载基础
7.2.2 重载的作用
7.2.3 选择正确的方法
7.2.4 重载dealloc方法
7.2.5 使用super关键字
7.2.6 连续继承
7.3 通过继承添加新的实例变量
7.4 调用动态方法
7.5 访问控制
7.6 Category类别
第8章 多态、动态类型和异常处理
8.1 多态
8.1.1 多态基础
8.1.2 实现多态
8.1.3 指针变量的强制类型转换
8.1.4 判断指针变量的实际类型
8.2 动态绑定和id类型
8.2.1 id类型的优势
8.2.2 与C#的比较说明
8.2.3 编译时和运行时检查
8.2.4 id数据类型与静态类型
8.2.5 动态类型的参数和返回类型
8.2.6 处理动态类型的方法
8.3 异常处理
8.3.1 用@try处理异常
8.3.2 使用@finally回收资源
8.3.3 自定义异常类
8.3.4 和C++异常处理进行比较
第9章 类别、协议和合成对象
9.1 类别
9.1.1 定义类别
9.1.2 类别的使用
9.1.3 用类别实现模块化设计
9.1.4 使用类别调用私有方法
9.1.5 扩展
9.2 协议
9.2.1 使用类别实现非正式协议
9.2.2 定义正式协议
9.2.3 遵守(实现)协议
9.2.4 协议和委托
9.3 合成对象
第10章 预处理程序
10.1 宏定义
10.1.1 无参宏定义
10.1.2 带参宏定义
10.1.3 #define语句的作用
10.1.4 高级类型定义
10.1.5 #运算符
10.1.6 ##运算符
10.2 #import语句
10.3 条件编译
10.3.1 #ifdef、#endif、#else和#ifndef语句
10.3.2 #if和#elif预处理程序语句
第11章 深入理解变量和数据类型
11.1 内存布局
11.2 自动变量
11.3 外部变量
11.4 作用域
11.4.1 控制实例变量作用域的指令
11.4.2 外部变量
11.4.3 静态变量
11.4.4 选择局部变量和全局变量
11.4.5 复合语句和作用域
11.5 存储类说明符
11.5.1 auto
11.5.2 const
11.5.3 volatile
11.5.4 static
11.5.5 extern
11.6 枚举数据类型
11.7 typedef语句
第四篇 知识进阶
第12章 Foundation框架类详解
12.1 数字对象
12.2 字符串处理
12.2.1 创建字符串对象
12.2.2 可变对象与不可变对象
12.2.3 可变字符串
12.2.4 释放字符串对象
12.3 数组对象
12.3.1 数组的存储
12.3.2 数组的比较机制
12.3.3 调用数组元素
12.3.4 操作数组对象
12.3.5 返回操作并生成访问器方法
12.3.6 枚举操作
12.3.7 使用枚举遍历查询信息
12.3.8 删除信息
12.3.9 数组排序
12.3.10 KVC和KVO开发
12.4 字典对象
12.4.1 NSDictionary功能介绍
12.4.2 创建可变字典
12.4.3 枚举字典
12.5 集合对象
12.5.1 NSSet类介绍
12.5.2 重复判断操作
12.5.3 NSMutableSet可编辑集合
12.5.4 NSCountedSet状态集合
12.5.5 有序集合
第13章 日期、时间、复制和谓词
13.1 赋值和复制
13.2 copy方法和mutableCopy方法的使用
13.3 浅复制和深复制
13.3.1 独立副本
13.3.2 复制的应用
13.4 使用alloc+init...方式实现复制
13.5 NSCopyObject()的使用
13.6 用自定义类实现复制
13.7 用赋值方法和取值方法复制对象
13.8 复制可变和不可变对象
13.9 使用setter方法复制
13.10 谓词
13.10.1 创建谓词
13.10.2 用谓词过滤集合
13.10.3 在谓词中使用格式说明符
13.11 日期和时间处理
13.12 日期格式器
13.13 日历和日期组件
第14章 和C语言同质化的数据类型(上)
14.1 数组
14.1.1 一维数组
1.定义一维数组
2.初始化一维数组
3.引用一维数组元素
4.全局数组和局部数组
14.1.2 二维数组
1.定义二维数组
2.引用二维数组
3.初始化二维数组
14.1.3 显式初始化二维数组
14.1.4 多维数组的定义
1.定义多维数组
2.初始化多维数组
3.引用多维数组元素
14.1.5 多维数组的初始化
14.1.6 字符数组
14.2 函数
14.2.1 函数的种类
1.从是否有返回值角度划分
2.从是否有参数角度划分
14.2.2 定义函数
14.2.3 函数的声明
14.2.4 函数原型
14.2.5 函数的参数
1.形参和实参
2.数组名作为函数参数
14.2.6 返回值
14.2.7 声明返回类型和参数类型
14.2.8 调用函数
1.函数调用格式
2.调用函数的方式
3.对被调函数的声明
14.2.9 函数的嵌套调用和递归调用
1.嵌套调用
2.递归调用
14.2.10 数组作为函数的参数
14.2.11 内部函数和外部函数
1.内部函数
2.外部函数
14.3 变量的作用域和生存期
14.3.1 变量的作用域
1.局部变量的作用域
2.全局变量的作用域
14.3.2 静态存储变量和动态存储变量
14.4 结构体
14.4.1 结构体基础
1.定义结构体类型
2.定义结构体类型变量
3.结构体变量的引用
14.4.2 结构体变量的初始化
14.4.3 结构体数组
1.定义结构体数组
2.结构体数组的初始化
3.引用结构体数组
14.4.4 结构体和函数
1.结构体变量和结构体指针作为函数参数
2.返回结构体类型值的函数
14.4.5 结构体中的结构体
14.4.6 位字段
14.4.7 typedef
第15章 和C语言同质化的数据类型(下)
15.1 指针
15.1.1 指针基础
1.变量的指针和指向变量的指针变量
2.声明指针
3.指针初始化
4.引用指针
15.1.2 指针变量的运算
1.赋值运算
2.指针加减运算
3.两个指针变量之间的运算
15.1.3 指针变量作为函数参数
15.1.4 指针和数组
1.数组元素的指针
2.指向一维数组元素的指针变量
3.通过指针引用数组元素
4.数组名作函数参数
15.1.5 指针和多维数组
1.多维数组的地址
2.指向多维数组的指针变量
15.1.6 指针和字符串
1.用指针访问字符串
2.字符指针作为函数参数
15.1.7 指针数组和多级指针
1.指针数组
2.多级指针的定义和应用
15.1.8 指针函数和函数指针
1.指针函数
2.函数指针
15.1.9 结构体指针
1.定义结构体指针变量
2.初始化结构体指针变量
3.引用结构体指针变量
4.指向结构体数组的指针
15.2 共用体
15.2.1 定义共用体类型和共用体变量
15.2.2 引用共用体变量
15.3 块
15.3.1 块的基本语法
15.3.2 块和局部变量
15.3.3 用typedef定义块类型
第16章 文件操作
16.1 Foundation框架的文件操作
16.2 用NSFileManager管理文件和目录
16.2.1 NSFileManager基础
16.2.2 访问文件属性和内容
16.2.3 使用NSData类
16.2.4 创建、删除、移动和复制文件
16.2.5 目录操作
16.2.6 枚举目录中的内容
16.2.7 查看目录的内容
16.3 路径操作类
16.3.1 常用的路径处理方法
16.3.2 复制文件
16.3.3 使用NSProcessInfo获取进程信息
16.4 用NSFileHandle实现文件I/O操作
16.5 使用NSURL读取网络资源
16.6 使用NSBundle处理项目资源
第17章 归档
17.1 使用XML属性列表进行归档
17.2 使用NSKeyedArchiver归档
17.3 NSCoding协议
17.4 编码方法和解码方法
17.5 使用NSData创建自定义文档
17.6 使用归档程序复制对象
17.7 归档总结
1.对基本Objective-C类对象归档
2.对自定义的Class归档
3.使用NSData定义档案
第五篇 核心组件
第18章 Xcode IB界面开发
18.1 IB基础
18.2 和IB密切相关的库面板
18.3 IB采用的方法
18.4 IB中的故事板
18.4.1 推出的背景
18.4.2 故事板的文档大纲
18.4.3 文档大纲的区域对象
18.5 创建界面
18.5.1 对象库
18.5.2 将对象加入到视图中
18.5.3 使用IB布局工具
1.参考线
2.选取手柄
3.对齐
4.大小检查器
18.6 定制界面外观
18.6.1 属性检查器的使用
18.6.2 设置辅助功能属性
18.6.3 测试界面
18.7 iOS 9控件的属性
18.8 实战演练——将界面的控件连接到代码
18.8.1 打开项目
18.8.2 输出口和操作
18.8.3 创建到输出口的连接
18.8.4 创建到操作的连接
18.9 实战演练——纯代码实现UI设计
第19章 使用Xcode编写MVC程序
19.1 MVC模式基础
19.1.1 诞生背景
19.1.2 分析结构
1.视图
2.模型
3.控制器
19.1.3 MVC的特点
19.1.4 使用MVC实现程序设计的结构化
19.2 Xcode中的MVC
19.2.1 基本原理
19.2.2 MVC的模板
1.基于视图的应用程序(View-Based Application)
2.基于导航的应用程序(Navigation-Based Application)
3.工具应用程序(Utility Application)
4.OpenGL ES应用程序(OpenGL ES application)
5.标签栏应用程序(Tab Bar Application)
6.基于窗口的应用程序(Window-based Application)
19.3 在Xcode中实现MVC
19.3.1 视图
19.3.2 视图控制器
1.使用IBOutlet
2.使用编译指令property和synthesize简化访问
3.使用IBAction
19.4 数据模型
19.5 实战演练——使用Single View Application模板
19.5.1 创建项目
1.类文件
2.故事板文件
19.5.2 规划变量和连接
1.修改视图控制器接口文件
2.修改视图控制器实现文件
3.一种简化的方法
19.5.3 设计界面
19.5.4 创建并连接输出口和操作
1.添加输出口
2.添加操作
19.5.5 实现应用程序逻辑
19.5.6 生成应用程序
第20章 基础控件介绍
20.1 文本框
20.1.1 实战演练——实现用户登录界面
20.1.2 实战演练——限制输入文本的长度
20.2 文本视图
20.2.1 实战演练——拖动输入的文本
20.2.2 实战演练——关闭虚拟键盘的输入动作
20.3 标签
20.3.1 实战演练——使用标签显示一段文本
20.3.2 实战演练——复制标签中的文本
20.4 按钮
20.4.1 实战演练——自定义按钮的图案
20.4.2 实战演练——实现丰富多彩的控制按钮
20.5 滑块控件
20.5.1 实战演练——实现自动显示刻度的滑动条
20.5.2 实战演练——实现带刻度的滑动条
20.6 实战演练——设置指定样式的步进控件
20.7 图像视图控件
20.7.1 实战演练——实现图片浏览器
20.7.2 实战演练——实现幻灯片播放器效果
20.8 开关控件
20.8.1 实战演练——改变开关控件的文本和颜色
20.8.2 实战演练——创建并使用开关控件
20.9 分段控件
20.9.1 实战演练——分段控件的使用
20.9.2 实战演练——使用分段控件控制背景颜色
20.10 工具栏
20.10.1 实战演练——自定义工具栏控件的颜色和样式
20.10.2 实战演练——自定义工具栏
20.11 选择器视图
20.11.1 实战演练——实现两个选择器视图控件间的数据依赖
20.11.2 实战演练——实现单列选择器
20.12 日期选择控件
20.12.1 实战演练——使用日期选择器自动选择时间
20.12.2 实战演练——在屏幕中显示日期选择器
第21章 Web视图控件、可滚动视图控件和翻页控件
21.1 Web视图
21.1.1 实战演练——在Web视图控件中调用JavaScript脚本
21.1.2 实战演练——实现一个迷你浏览器
21.2 可滚动的视图
21.2.1 实战演练——可滚动视图控件的使用
1.创建项目
2.具体代码
21.2.2 实战演练——通过滚动屏幕的方式浏览信息
21.3 翻页控件
21.3.1 翻页控件基础
21.3.2 实战演练——自定义翻页控件的的外观样式
第22章 提醒、操作表和表视图
22.1 提醒视图
22.1.1 实战演练——自定义提醒控件的外观
22.1.2 实战演练——实现带输入框的提示框
22.2 操作表
22.2.1 实战演练——使用操作表控件定制按钮面板
22.2.2 实战演练——实现图片选择器
22.3 使用表视图
22.3.1 实战演练——拆分表视图
22.3.2 实战演练——实现图文样式联系人列表效果
第23章 活动指示器、进度条和检索控件
23.1 活动指示器
23.1.1 实战演练——实现不同外观的活动指示器
23.1.2 实战演练——实现环形进度条效果
23.2 进度条
23.2.1 实战演练——自定义外观样式的进度条
23.2.2 实战演练——实现多个具有动态条纹背景的进度条
23.3 检索条
23.3.1 实战演练——使用检索控件快速搜索信息
23.3.2 实战演练——使用UISearchDisplayController实现搜索功能
第24章 UIView和视图控制器详解
24.1 UIView基础
24.1.1 UIView的结构
1.UIView中的CALayer
2.UIView继承的UIResponder
24.1.2 视图架构
24.1.3 实战演练——给任意UIView视图的4条边框加上阴影
24.2 实战演练——使用导航控制器手动旋转屏幕
24.3 使用UINavigationController
24.3.1 UINavigationController详解
1.navigationItem
2.titleTextAttributes
3.wantsFullScreenLayout
4.navigationBar中的stack
5.navigationBar的刷新
6.Toolbar
7.UINavigationControllerDelegate
24.3.2 实战演练——实现界面导航条功能
24.4 选项卡栏控制器
24.4.1 实战演练——使用动态单元格定制表格行
24.4.2 实战演练——使用Segue实现过渡效果
第25章 UICollectionView和UIVisualEffectView控件
25.1 UICollectionView控件详解
25.1.1 UICollectionView的构成
25.1.2 实现简单的UICollectionView
1.UICollectionViewDataSource
2.重用
3.UICollectionViewDelegate
4.cell
5.UICollectionViewLayout
25.1.3 自定义UICollectionViewLayout
25.1.4 实战演练——使用UICollectionView控件实现网格效果
25.2 UIVisualEffectView控件详解
25.2.1 UIVisualEffectView基础
25.2.2 使用VisualEffectView控件实现模糊特效
25.2.3 使用VisualEffectView实现Vibrancy效果
25.2.4 实战演练——在屏幕中实现模糊效果
第六篇 典型应用
第26章 图形、图像、图层和动画
26.1 图形处理
26.1.1 实战演练——在屏幕中绘制三角形
26.1.2 实战演练——绘制几何图形
26.2 图像处理
26.2.1 实战演练——在屏幕中绘制图像
26.2.2 实战演练——实现对图片的旋转和缩放
26.3 图层
26.3.1 视图和图层
26.3.2 实战演练——实现图片、文字及其翻转效果
26.4 实现动画
26.4.1 实战演练——使用动画样式显示电量使用情况
26.4.2 实战演练——使用属性动画
第27章 多媒体应用
27.1 访问声音服务
27.1.1 声音服务基础
27.1.2 实战演练——播放声音文件
27.2 提醒和振动
27.2.1 播放提醒音
27.2.2 实战演练——使用iOS的提醒功能
1.创建项目
2.设计界面
3.创建并连接输出口和操作
4.实现提醒视图
5.实现操作表
6.实现提醒音和振动
27.3 Media Player框架
27.3.1 Media Player框架中的类
27.3.2 实战演练——使用Media Player播放视频
27.4 AV Foundation框架
27.4.1 准备工作
27.4.2 实战演练——使用AV Foundation框架播放视频
27.5 图像选择器
27.5.1 使用图像选择器
27.5.2 实战演练——获取图片并缩放
第28章 定位处理
28.1 Core Location框架
28.1.1 Core Location基础
28.1.2 使用流程
28.2 获取位置
28.2.1 位置管理器委托
28.2.2 获取航向
28.3 地图功能
28.3.1 Map Kit基础
28.3.2 为地图添加标注
28.4 实战演练——定位当前的位置信息
第29章 触摸、手势识别和Force Touch
29.1 多点触摸和手势识别基础
29.2 触摸处理
29.2.1 触摸事件和视图
1.接收触摸
2.多点触摸
3.iOS的触摸事件处理
4.触摸和响应链
29.2.2 iOS中的手势操作
29.2.3 实战演练——触摸的方式移动视图
29.3 手势处理
手势处理基础
1.手势识别器类
2.多手势识别器
3.给手势识别器添加子类
4.手势识别器委托
5.手势识别器和视图
6.识别
7.添加手势识别器
8.使用复杂的触摸和手势UIXXGestureRecognizer
29.4 Force Touch技术
29.4.1 Force Touch介绍
29.4.2 Force Touch API介绍
29.4.3 实战演练——使用Force Touch
第30章 Touch ID详解
30.1 初步认识Touch ID
30.2 开发Touch ID应用程序
30.2.1 Touch ID的官方资料
30.2.2 实战演练——Touch ID认证综合应用
第31章 游戏开发
31.1 Sprite Kit框架基础
31.1.1 Sprite Kit的优点和缺点
31.1.2 Sprite Kit、Cocos2D、Cocos2D-X和Unity的选择
31.2 实战演练——开发一个Sprite Kit游戏程序
第七篇 综合实战
第32章 房屋出租管理系统的开发
32.1 系统功能介绍
32.2 具体实现
32.2.1 实现接口文件
32.2.2 实现系统主界面
32.2.3 实现用户登录界面
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜