具体描述
内容简介
《iOS 8应用开发实战:205个快速上手的开发技巧》使用 iOS 8+Xcode 6进行 App开发,并涵盖 CloudKit、HealthKit、Extension、iBeacon等重要技术。全书共 22章,内容包括熟悉开发环境、开发首项App、掌握用户界面,以及表格、动态行为、拍照与音乐、手势、传感器、绘图、文件管理、结构化数据访问、云端存储、多线程、后台运行、Internet、媒体获取、通信、CloudKit、HealthKit、Extension等。《iOS 8应用开发实战:205个快速上手的开发技巧》从核心并且极为关键的问题下手,以大量案例为导向,有效降低学习门槛与花费的时间,让广大 App开发者能够快速上手。 本书适合作为 iOS初学者、iOS程序员、iPhone开发人员、iPad开发人员的参考书,也可以作为相关培训学校和大专院校相关专业的教学用书。 目录
第1章 绪论
1-1 移动设备里的小确幸
1-2 注册与下载开发工具
1-3 使用的语言
1-4 Framework 概述
1-5 设计
1-6 本书在讲述什么
1-7 如何使用本书
第2章 开发环境
2-1 下载集成开发环境
2-2 在Mac计算机上制作开发专用证书
2-3 将App发布到手机上测试
2-4 在Mac计算机上创建发布专用证书
2-5 在iTunes Connect中创建App 的上架信息
2-6 上传App 进行审核
2-7 模拟器的基本功能
2-8 如何增加函数库
第3章 Storyboard
3-1 我的第一个 App——Hello World
3-2 让两个按钮调用同一个事件处理方法
3-3 一个App 多个画面
3-4 画面切换
3-5 使用导航控件
3-6 使用Tab Bar切换画面
3-7 传递参数到下一个画面
3-8 取消画面切换
3-9 不使用Segue的画面切换
3-10 在运行阶段加载XIB文件
3-11 使用Auto Layout布局
3-12 开发同时适合iPhone与iPad的App
3-13 Image在Size Classes上的应用
3-14 判断设备类型以及取得位置信息
第4章 用户界面
4-1 弹出警告信息框
4-2 利用警告信息框输入账号和密码
4-3 使用Picker View选择数据
4-4 使用Date Picker设置时间
4-5 使用Date Picker设置倒数时间
4-6 使用Image View显示图片
4-7 使用Image View连续播放图片
4-8 在运行阶段动态产生可视化组件
4-9 使用Slider
4-10 使用Switch
4-11 让图片加上滚动条
4-12 使用滚动条分页浏览
4-13 关闭虚拟键盘
4-14 使用Web View加载外部网页
4-15 使用Web View显示HTML字符串
4-16 使用分页控制器
4-17 使用Search Bar搜索数据
4-18 加入iAd 广告
4-19 利用动画方式呈现按钮移动
4-20 旋转图片
4-21 将直角改成圆角
4-22 加上阴影
第5章 表格
5-1 使用表格组件
5-2 显示单元格指示器
5-3 在表格上创建两个区块
5-4 在表格上删除一条数据
5-5 在表格上新增一条数据
5-6 得知用户单击哪一个单元格
5-7 改变单元格顺序
5-8 如何自定义单元格样式
5-9 使用表格控件
5-10 导航控件与表格
5-11 使用Collection组件
5-12 表格下拉更新
第6章 动态行为
6-1 吸附
6-2 碰撞
6-3 引力
6-4 推力
6-5 扑向
第7章 拍照与音乐
7-1 让手机震动
7-2 检测设备上是否配备相机与闪光灯
7-3 打开相机拍照并保存文件
7-4 从相册中挑选一张照片
7-5 一次取得相册中的所有照片
7-6 播放App 内置的音乐
7-7 显示目前音乐播放进度
7-8 播放已经存在的音乐
7-9 取得目前播放中的歌曲信息
第8章 手势
8-1 使用Tap 手势
8-2 使用Pinch 手势
8-3 使用Rotation手势
8-4 使用Swipe手势
8-5 使用Pan 手势
8-6 使用Long Press手势
第9章 传感器
9-1 读取加速器数据
9-2 读取陀螺仪数据
9-3 读取磁力仪数据
9-4 读取Device Motion数据
9-5 检测设备摇晃
9-6 使用加速器来控制赛车的方向盘
9-7 使用距离传感器
第10章 绘图
10-1 取得绘图区域
10-2 在绘图区域上画线
10-3 在绘图区域绘制多边形
10-4 在绘图区域绘制矩形
10-5 在绘图区域绘制弧线
10-6 在绘图区域绘制椭圆形
10-7 在绘图区域绘制曲线
10-8 在绘图区域显示图片
第11章 文件管理
11-1 创建目录与文件
11-2 复制、移动与删除
11-3 检查目录或文件是否存在
11-4 区分目录与文件
11-5 列出目录下的所有文件
11-6 设置文件不要备份属性
11-7 文字类型的文件
11-8 数组类型的文件
11-9 将图片存入文件
11-10 delegate 的用法
第12章 结构化数据访问
12-1 访问PLIST文件
12-2 创建SQLite数据库
12-3 连接SQLite数据库
12-4 查询数据库中的数据
12-5 修改数据库中的数据
12-6 数据库访问图片
12-7 设计与规划Core Data
12-8 访问Core Data数据
12-9 查询Core Data时附带查询条件
12-10 使用Core Data预存的Fetch Requests
12-11 在Core Data预存的Fetch Requests中增加变量
12-12 删除Core Data中的数据
12-13 访问Core Data中的一对多关系
12-14 Core Data 访问图片
第13章 云端存储
13-1 使用iCloud 读写文件
13-2 使用iCloud 读写Key-Value数据
13-3 让两个App共享iCloud 下的数据
13-4 注册Dropbox App 及下载SDK
13-5 在项目中安装与设置Dropbox SDK
13-6 上传文件至Dropbox
13-7 从Dropbox下载文件
13-8 取得Dropbox上的文件列表与文件信息
第14章 多线程
14-1 利用传统方式打开多线程
14-2 使用NSOperationQueue
14-3 使用NSOperation类
14-4 使用Main派遣队列
14-5 使用Concurrent 派遣队列
14-6 使用Serial派遣队列
14-7 定时器
第15章 后台运行
15-1 后台播放音乐
15-2 后台更新地理坐标
15-3 额外争取10分钟的后台运行时间
15-4 多线程的后台运行
15-5 后台获取
第16章 Internet
16-1 异步方式下载网页
16-2 同步方式下载网页或图片
16-3 解析XML
16-4 解析JSON
16-5 以GET方式发送数据
16-6 以POST方式发送数据
16-7 与社区网站连接
16-8 信息推送
16-9 本地信息推送
16-10 与推送信息互动
第17章 媒体获取
17-1 获取静态图片并预览
17-2 前后镜头切换
17-3 调整相机参数
17-4 录制影片
17-5 录制声音
第18章 通信
18-1 蓝牙4.0 Peripheral
18-2 蓝牙4.0 Central
18-3 iBeacon
18-4 将手机模拟成iBeacon
18-5 设计Socket Library
18-6 设计Socket Library(Server)
18-7 设计Socket Library(Client)
18-8 Socket 范例程序
第19章 CloudKit
19-1 判断是否登录iCloud并取得登录者信息
19-2 创建表并读写数据
19-3 访问图片或二进制数据
19-4 修改与删除数据
19-5 关联性设置
19-6 订阅与删除异动通知
第20章 Heal
20-1 读取生日性别与血型
20-2 写入与读取心跳数据
20-3 写入与读取睡眠数据
20-4 查询条件设置
20-5 列出最大值、最小值或平均值等统计数据
第21章 Extension
21-1 Today——今天
21-2 Action——动作
21-3 Share——共享
21-4 PhotoEditing——照片编辑
21-5 Document Provider——文件管理
21-6 Keyboard——键盘
第22章 其他
22-1 从View中调用AppDelegate方法
22-2 取得电池状态
22-3 打开机背?
22-4 拨打电话
22-5 E-mail
22-6 App间的数据共享
22-7 将日期时间格式化输出
22-8 使用日历类
22-9 将程序设置放在系统设置区中
22-10 让系统设置区支持多语言
22-11 让App支持多国/地区语言
22-12 将屏幕关闭功能取消
22-13 隐藏画面最上方的状态栏
22-14 Undo 与Redo 功能
22-15 让照片套用滤镜特效
22-16 随机数
22-17 编写delegate
22-18 method 延迟调用
附录A 数据库概述
附录B 谓词语法格式
附录C 字符串格式表示 前言/序言
《SwiftUI 核心概念与实战:构建现代 iOS 应用》 简介: 在这个快速迭代的移动开发时代,掌握一套高效、声明式的UI开发框架至关重要。Apple 推出的 SwiftUI 正是顺应这一趋势的革命性力量,它以前所未有的方式简化了UI的构建过程,让开发者能够更专注于业务逻辑和用户体验的打磨。本书《SwiftUI 核心概念与实战:构建现代 iOS 应用》并非一本面向初学者的入门指南,而是旨在帮助已经具备一定 iOS 开发基础(熟悉 Objective-C 或 Swift 基础语法,并对 UIKit 有一定了解)的开发者,能够系统、深入地掌握 SwiftUI 的核心理念,并将其高效应用于实际项目开发中。 本书将带领读者穿越 SwiftUI 的技术浪潮,从根本上理解声明式UI的强大之处,并学会如何利用 SwiftUI 强大的功能来构建出美观、响应迅速且易于维护的现代 iOS 应用。我们不会止步于简单的控件介绍,而是深入剖析 SwiftUI 背后的设计哲学,解析其工作原理,并提供一套行之有效的实战方法论,帮助你成为一名出色的 SwiftUI 开发者。 核心内容亮点: 1. 声明式UI的思维重塑: 从命令式到声明式: 深入对比 UIKit 的命令式编程模型与 SwiftUI 的声明式编程模型,阐释为何后者是未来UI开发的必然趋势。理解状态驱动UI的本质,以及如何通过定义UI的预期状态来让 SwiftUI 自动处理更新。 视图的组合与重用: 学习如何将复杂的UI拆解成可组合、可重用的视图组件。掌握 `View` 协议的精髓,理解 `body` 属性的作用,以及如何创建自定义视图来封装逻辑和 UI 元素。 数据流与状态管理: 这是 SwiftUI 的核心。我们将详细讲解 `@State`, `@Binding`, `@ObservedObject`, `@StateObject`, `@EnvironmentObject` 等属性包装器的作用和适用场景。通过大量的实例,演示如何在不同视图之间安全、高效地传递和管理数据,以及如何响应数据变化来驱动UI更新。 SwiftUI 的生命周期: 理解 SwiftUI 视图的创建、更新和销毁过程。掌握 `onAppear`, `onDisappear`, `onChange` 等修饰符,以及如何利用它们来管理视图的生命周期事件,并在适当的时机执行操作。 2. 强大的布局系统: Stacks (VStack, HStack, ZStack): 深入学习这三种基础布局容器的用法,掌握它们在排列视图时的优先级和间距控制。 `GeometryReader` 的威力: 学习如何利用 `GeometryReader` 获取父视图的尺寸信息,实现更灵活、响应式的布局,解决在不同屏幕尺寸下 UI 布局的挑战。 Spacer 和 Padding: 精准控制视图之间的间距和对齐方式,打造清晰、美观的视觉层级。 列表与网格 (List, ForEach, Grid): 高效地展示大量数据。掌握 `List` 的不同样式,`ForEach` 的动态数据渲染,以及 `LazyVGrid` 和 `LazyHGrid` 的性能优化技巧,构建流畅的数据展示界面。 3. 丰富的控件与交互: 基础控件精通: 深入讲解 `Text`, `Image`, `Button`, `TextField`, `SecureField`, `Toggle`, `Slider`, `Stepper`, `Picker` 等核心控件的常用修饰符和事件处理。 导航 (NavigationStack, NavigationLink): 学习如何构建多层级的导航结构,实现页面间的跳转和数据传递。理解 `NavigationStack` 的栈式管理机制,以及 `NavigationLink` 的声明式用法。 模态视图 (Sheet, Alert, FullScreenCover): 掌握如何通过模态视图呈现额外信息或交互,提升用户体验。 自定义控件的实现: 学习如何组合现有控件或利用 Shape 协议创建具有独特外观和交互的自定义视图。 手势识别 (TapGesture, DragGesture, MagnificationGesture): 为你的应用添加丰富的用户交互,实现如拖动、缩放、旋转等手势操作。 4. 高级特性与集成: 动画与过渡 (Animation, Transition): 为你的UI添加流畅自然的动画效果,提升应用的可视化吸引力。掌握如何为状态变化添加动画,以及自定义视图的进入和退出过渡效果。 视图的绘制 (Shape, Path): 学习如何利用 `Shape` 和 `Path` 绘制复杂的矢量图形,为你的应用注入独特的视觉风格。 与 UIKit/AppKit 的互操作: 在 SwiftUI 项目中无缝集成现有的 UIKit 代码,或者在 UIKit 项目中使用 SwiftUI 视图。理解 `UIViewRepresentable` 和 `UIViewControllerRepresentable` 的作用,解决过渡期的兼容性问题。 数据持久化: 结合 `UserDefaults`, `CoreData`, `Realm` 等技术,实现应用数据的本地存储和管理。 网络请求与数据处理: 集成 `URLSession` 等网络库,实现与后端 API 的数据交互,并学习如何在 SwiftUI 中高效地处理异步数据。 响应式编程范式: 引入 Combine 框架,讲解其与 SwiftUI 的结合,如何构建更强大的响应式数据流,处理复杂的异步事件。 5. 实战项目驱动: 本书将贯穿多个实际项目案例,从简单的待办事项列表到复杂的社交媒体应用,逐步引导读者将所学知识融会贯通。每个案例都经过精心设计,旨在涵盖不同领域的 SwiftUI 开发技术。 案例分析: 深入剖析每个项目案例的设计思路、技术选型、代码实现和优化过程,让读者能够触类旁通。 最佳实践: 总结和提炼 SwiftUI 开发中的最佳实践和常见陷阱,帮助读者写出更健壮、可维护的代码。 本书的目标读者: 有一定 Swift 语言基础,并熟悉 UIKit 开发的 iOS 开发者。 希望系统性地学习 SwiftUI,并将其应用于实际项目开发的开发者。 对声明式 UI 编程模型充满好奇,并希望提升开发效率和应用质量的开发者。 需要解决在 SwiftUI 中遇到的复杂布局、状态管理或与其他框架集成问题的开发者。 为何选择本书: 与市面上一些仅停留在控件介绍的入门书籍不同,《SwiftUI 核心概念与实战:构建现代 iOS 应用》更注重对 SwiftUI 核心理念的深入剖析和实际应用的指导。我们相信,只有真正理解了 SwiftUI 的“为什么”,才能更好地掌握它的“怎么用”。本书力求以严谨的逻辑、清晰的讲解和丰富的实战案例,帮助你构建出在性能、可维护性和用户体验上都达到业界领先水平的现代 iOS 应用。 立即开启你的 SwiftUI 之旅,用更高效、更优雅的方式,构建下一代 iOS 应用!