给大家带来的一篇关于iOS开发相关的电子书资源,介绍了关于精通iOS、iOS开发方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小112.3 MB,[美]Molly Maskrey编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.5。
内容介绍
还要iPhone和iPad应用开发的大门口彷徨?還是早已投身于iOS应用开发势力,但期待快速提高自己的功力?挑选这书可让你欢乐送。五位作者均是zi深挪动开发权威专家,具备丰富多彩的Mac、iOS、Cocoa、Objective-C及Swift开发经验,她们将很多年的实战演练经验与聪慧感受汇聚成本费书,致力于协助沒有经验的读者圆满叩响iOS应用开发的大门口,协助有经验的读者快速提高功力,进而在iOS开发的路面上无坚不摧。这书自面世至今就遭受读者的交口赞誉,被誉为学习培训iOS服务平台开发的不二之选。汉化版总计销售量已超出八万册。新版本干了大幅度修定,根据新的Xcode和iOS10电脑操作系统,用Swift語言重新写过了书里的全部实例,而且适配Swift3。你还在等什么?马上展卷阅读文章,添加iOS开发的队伍吧!
这书是iOS应用开发初级教程,內容详实,語言栩栩如生。作者融合很多案例,应用Swift語言由浅入深地解读了适用iPhoneiPad开发的基础步骤。新版本详细介绍强劲的iOS10电脑操作系统,包含Xcode8的新作用,书里全部实例所有再次撰写。
目录
-
第 1 章 欢迎来到 iOS 和 Swift 世界 1
-
1.1 关于本书 1
-
1.2 必备条件 2
-
1.2.1 选择开发者计划 3
-
1.2.2 必备知识 5
-
1.2.3 iOS应用程序的特点 5
-
1.3 本书内容 8
-
1.3.1 新版增加内容 9
-
1.3.2 Swift 和 Xcode 版本 9
-
1.3.3 准备好了吗 9
-
第 2 章 创建第一个 App 10
-
2.1 创建“Hello, World!”项目 10
-
2.1.1 Xcode 项目窗口 13
-
2.1.2 深入了解项目 20
-
2.2 Interface Builder简介 21
-
2.2.1 文件格式 22
-
2.2.2 storyboard 22
-
2.2.3 实用工具 23
-
2.2.4 在视图中添加标签 24
-
2.2.5 属性修改 27
-
2.3 画龙点睛——美化 iPhone 应用程序 28
-
2.4 启动界面 32
-
2.5 在设备上运行应用 33
-
2.6 小结 36
-
第 3 章 基本的用户交互 37
-
3.1 MVC模式 37
-
3.2 创建 ButtonFun应用 38
-
3.3 视图控制器 39
-
3.3.1 输出接口和操作方法 40
-
3.3.2 精简视图控制器代码 41
-
3.3.3 设计用户界面 42
-
3.3.4 测试 ButtonFun应用 49
-
3.3.5 布局预览 57
-
3.3.6 改变文本样式 59
-
3.4 应用程序委托 60
-
3.5 小结 62
-
第 4 章 更丰富的用户界面 63
-
4.1 动态控件、静态控件和被动控件 66
-
4.2 创建 Control Fun应用程序 66
-
4.3 实现图像视图和文本框 67
-
4.3.1 添加图像视图 67
-
4.3.2 调整图像视图的大小 69
-
4.3.3 设置视图属性 71
-
4.3.4 添加文本框 72
-
4.3.5 添加约束 78
-
4.3.6 创建并关联输出接口 79
-
4.4 关闭键盘 80
-
4.4.1 按下 Done 按钮关闭键盘 81
-
4.4.2 触摸背景关闭键盘 82
-
4.4.3 添加滑动条和标签 83
-
4.4.4 创建并关联操作方法和输出接口 85
-
4.4.5 实现操作方法 85
-
4.5 实现开关、按钮和分段控件 86
-
4.5.1 添加两个带标签的开关 87
-
4.5.2 为开关创建并关联输出接口和操作方法 87
-
4.5.3 实现开关的操作方法 88
-
4.5.4 控件状态 90
-
4.5.5 为按钮创建并关联输出接口和操作方法 91
-
4.6 实现分段控件的操作方法 91
-
4.7 实现操作表单和警告视图 92
-
4.7.1 显示操作表单 92
-
4.7.2 显示警告视图 95
-
4.8 小结 96
-
第 5 章 自动旋转 97
-
5.1 自动旋转机制 98
-
5.1.1 点、像素和 Retina 显示屏 98
-
5.1.2 控制旋转 98
-
5.2 创建 Orientations项目 99
-
5.2.1 应用级支持的方向 99
-
5.2.2 独立控制器的旋转支持 101
-
5.3 创建布局项目 102
-
5.3.1 覆盖默认的约束 105
-
5.3.2 与屏幕等宽的标签 107
-
5.4 创建自适应布局 109
-
5.4.1 创建 Restructure 应用程序 109
-
5.4.2 设置 iPhone 的横向(wC hC)配置布局 116
-
5.4.3 设置 iPad(以及 iPhone Plus横向)的 wR hR配置 124
-
5.5 小结 131
-
第 6 章 创建多视图应用 132
-
6.1 多视图应用的常见类型 132
-
6.2 多视图应用的体系结构 135
-
6.2.1 根控制器 137
-
6.2.2 内容视图剖析 137
-
6.3 构建 View Switcher项目 137
-
6.3.1 重命名视图控制器 137
-
6.3.2 添加内容视图控制器 139
-
6.3.3 修改 SwitchingViewController.swift 140
-
6.3.4 创建拥有工具栏的视图 140
-
6.3.5 连接工具栏按钮和视图控制器 142
-
6.3.6 编写根视图控制器 143
-
6.3.7 实现内容视图 147
-
6.3.8 过渡动画效果 150
-
6.4 小结 152
-
第 7 章 分页栏与选取器 153
-
7.1 Pickers应用程序 153
-
7.2 委托和数据源 156
-
7.3 创建 Pickers应用程序 157
-
7.3.1 创建视图控制器 157
-
7.3.2 创建分页栏控制器 158
-
7.3.3 首次模拟器测试 161
-
7.3.4 实现日期选取器 162
-
7.4 实现单滚轮选取器 164
-
7.4.1 构建视图 164
-
7.4.2 将控制器实现为数据源和委托 168
-
7.5 实现多滚轮选取器 170
-
7.5.1 构建视图 170
-
7.5.2 实现控制器 170
-
7.5.3 滚轮内容根据环境变化 172
-
7.6 使用自定义选取器创建一个简单游戏 178
-
7.6.1 编写控制器头文件 178
-
7.6.2 构建视图 178
-
7.6.3 实现控制器 179
-
7.6.4 最后的细节 182
-
7.7 小结 185
-
第 8 章 表视图简介 186
-
8.1 表视图基础 186
-
8.1.1 表视图和表视图单元 186
-
8.1.2 分组表和连续表 187
-
8.2 实现一个简单表 188
-
8.2.1 设计视图 188
-
8.2.2 实现控制器 190
-
8.2.3 添加一个图像 193
-
8.2.4 表视图单元样式 194
-
8.2.5 设置缩进级别 197
-
8.2.6 处理行的选择 197
-
8.2.7 更改字体大小和行高 199
-
8.3 定制表视图单元 200
-
8.4 实现自定义表视图应用程序 201
-
8.4.1 创建 UITableViewCell 子类 201
-
8.4.2 从 XIB 文件加载 UITableViewCell 205
-
8.5 分组分区和索引分区 210
-
8.5.1 构建视图 210
-
8.5.2 导入数据 211
-
8.5.3 实现控制器 212
-
8.5.4 添加索引 214
-
8.5.5 添加搜索栏 215
-
8.5.6 视图调试器 220
-
8.6 小结 222
-
第 9 章 表视图中的导航控制器 223
-
9.1 导航控制器基础 223
-
9.1.1 栈的概念 223
-
9.1.2 控制器栈 224
-
9.2 简单的字体浏览器:Fonts 225
-
9.2.1 Fonts应用的子控制器 225
-
9.2.2 Fonts应用的基础框架 227
-
9.2.3 创建根视图控制器 230
-
9.2.4 初始化 storyboard 232
-
9.2.5 第一个子控制器:字体列表视图 233
-
9.2.6 设计字体列表的 storyboard 235
-
9.3 创建字体尺寸视图控制器 237
-
9.3.1 设计字体尺寸视图控制器的storyboard 238
-
9.3.2 对字体列表视图控制器的转场进行设置 238
-
9.3.3 创建字体信息视图控制器 239
-
9.3.4 设计字体信息视图控制器的storyboard 240
-
9.3.5 调整字体列表视图控制器的转场 243
-
9.3.6 我的收藏字体 244
-
9.3.7 补充功能 244
-
9.3.8 实现轻扫删除 244
-
9.3.9 实现拖动排序 246
-
9.4 小结 247
-
第 10 章 集合视图 248
-
10.1 创建 DialogViewer项目 248
-
10.1.1 配置自定义单元 249
-
10.1.2 配置视图控制器 252
-
10.1.3 提供内容单元 252
-
10.1.4 实现流动布局 254
-
10.1.5 实现标题视图 255
-
10.2 小结 257
-
第 11 章 iPad 应用中的分割视图和浮动窗口 258
-
11.1 创建基于 UISplitViewController 的分割视图应用程序 260
-
11.1.1 在 storyboard 中定义结构 262
-
11.1.2 使用代码定义功能 263
-
11.1.3 Master-Detail 模板应用程序的工作原理 266
-
11.1.4 添加总统信息 268
-
11.1.5 创建浮动窗口 272
-
11.2 小结 277
-
第 12 章 应用设置和用户默认设置 278
-
12.1 设置捆绑包入门 278
-
12.2 Bridge Control应用程序 279
-
12.2.1 创建项目 282
-
12.2.2 使用设置捆绑包 283
-
12.2.3 读取应用中的设置 295
-
12.2.4 在应用中修改默认设置 298
-
12.2.5 注册默认值 300
-
12.2.6 保证设置有效 300
-
12.2.7 切换到 Settings应用程序 302
-
12.3 小结 303
-
第 13 章 数据持久化基础知识 304
-
13.1 应用程序的沙盒 304
-
13.1.1 获取 Documents和 Library 目录 307
-
13.1.2 获取临时目录 308
-
13.2 文件保存方案 308
-
13.2.1 单文件持久化 308
-
13.2.2 多文件持久化 309
-
13.3 属性列表 309
-
13.3.1 属性列表序列化 309
-
13.3.2 创建 Persistence 应用程序的第一个版本 310
-
13.4 对模型对象进行归档 314
-
13.4.1 遵循 NSCoding 协议 314
-
13.4.2 实现 NSCopying 协议 315
-
13.4.3 对数据对象进行归档和取消归档 316
-
13.4.4 归档应用 316
-
13.4.5 使用 iOS嵌入的 SQLite3 318
-
13.4.6 创建或打开数据库 319
-
13.4.7 使用绑定变量 320
-
13.5 创建 SQLite3应用程序 321
-
13.6 使用 Core Data 325
-
13.6.1 实体和托管对象 326
-
13.6.2 Core Data应用 329
-
13.6.3 修改 AppDelegate.swift 文件 332
-
13.7 小结 338
-
第 14 章 文档和 iCloud 339
-
14.1 使用 UIDocument 管理文档存储 340
-
14.1.1 构建 TinyPix 340
-
14.1.2 创建 TinyPixDocument 类 340
-
14.1.3 主控制器代码 342
-
14.1.4 设置 storyboard 348
-
14.1.5 创建 TinyPix 视图的类 350
-
14.1.6 设计 storyboard的详情视图 353
-
14.2 添加 iCloud支持 356
-
14.2.1 创建配置描述文件 356
-
14.2.2 如何查询 359
-
14.2.3 保存位置 360
-
14.2.4 将偏好设置保存到 iCloud 361
-
14.3 小结 363
-
第 15 章 用 Grand Central Dispatch 进行多线程编程 364
-
15.1 创建 SlowWorker 应用程序 365
-
15.1.1 线程基础知识 367
-
15.1.2 工作单元 368
-
15.1.3 GCD:底层队列 368
-
15.1.4 改进 SlowWorker 369
-
15.2 后台处理 372
-
15.3 应用生命周期 373
-
15.4 状态更改通知 373
-
15.4.1 创建 State Lab 项目 374
-
15.4.2 探索执行状态 375
-
15.4.3 利用执行状态更改 376
-
15.4.4 处理不活跃状态 377
-
15.4.5 处理后台状态 380
-
15.4.6 进入后台时保存状态 382
-
15.5 小结 385
-
第 16 章 图形与绘制 386
-
16.1 Quartz 2D 基础概念 386
-
16.2 Quartz 2D 绘图方法 387
-
16.2.1 Quartz 2D 图形环境 387
-
16.2.2 坐标系统 388
-
16.2.3 指定颜色 389
-
16.2.4 在环境中绘制图像 390
-
16.2.5 绘制形状:多边形、直线和曲线 390
-
16.2.6 Quartz 2D 样例:图案、渐变色、虚线图 391
-
16.3 QuartzFun 应用程序 392
-
16.3.1 构建 QuartzFun应用程序 392
-
16.3.2 添加 Quartz 2D绘制代码 398
-
16.3.3 优化 QuartzFun应用程序 402
-
16.4 小结 404
-
第 17 章 SpriteKit 制作简单游戏 405
-
17.1 创建 TextShooter应用 405
-
17.1.1 自定义初始场景 408
-
17.1.2 玩家移动 411
-
17.1.3 创建敌人 415
-
17.1.4 在场景中加入敌人 416
-
17.1.5 开始射击 417
-
17.1.6 物理攻击敌人 420
-
17.1.7 完成关卡 421
-
17.1.8 自定义碰撞 423
-
17.1.9 粒子系统 426
-
17.1.10 向场景中加入粒子 428
-
17.1.11 游戏结束 430
-
17.1.12 创建开始场景 432
-
17.1.13 添加音效 434
-
17.1.14 添加力场:为游戏提高一些难度 434
-
17.2 小结 437
-
第 18 章 轻点、触摸和手势 438
-
18.1 多点触控术语 438
-
18.2 响应者链 439
-
18.2.1 响应事件 439
-
18.2.2 转发事件:保持响应者链的活动状态 440
-
18.3 多点触控体系结构 440
-
18.4 4个手势通知方法 440
-
18.5 TouchExplorer应用 441
-
18.5.1 创建 Swipes应用程序 445
-
18.5.2 使用触摸事件检测轻扫 445
-
18.5.3 自动手势识别 447
-
18.5.4 实现多指轻扫 448
-
18.5.5 检测多次轻点 450
-
18.5.6 检测捏合和旋转 453
-
18.6 小结 456
-
第 19 章 确定位置 457
-
19.1 位置管理器 457
-
19.1.1 设置期望精度 457
-
19.1.2 设置距离筛选器 458
-
19.1.3 获取使用定位服务的权限 458
-
19.1.4 启动位置管理器 458
-
19.1.5 合理使用位置管理器 458
-
19.2 位置管理器委托 459
-
19.2.1 获取位置更新 459
-
19.2.2 使用 CLLocation 获取纬度和经度 459
-
19.2.3 错误通知 461
-
19.3 创建 WhereAmI应用程序 461
-
19.3.1 更新位置管理器 465
-
19.3.2 将移动路线展现在地图上 467
-
19.3.3 更改定位服务权限 470
-
19.4 小结 471
-
第 20 章 设备方向与动作 472
-
20.1 加速计物理特性 472
-
20.2 陀螺仪旋转特性 473
-
20.3 Core Motion和动作管理器 473
-
20.3.1 创建 MotionMonitor 应用程序 473
-
20.3.2 主动动作访问 476
-
20.3.3 陀螺仪和方位结果 478
-
20.3.4 加速计结果 479
-
20.4 检测摇动 480
-
20.4.1 内嵌的摇动检测 480
-
20.4.2 摇动与破碎 480
-
20.5 将加速计用作方向控制器 482
-
20.5.1 Ball应用程序 482
-
20.5.2 实现 BallView 类 484
-
20.5.3 计算弹珠运动 486
-
20.6 小结 488
-
第 21 章 摄像头和照片图库 489
-
21.1 图像选取器和 UIImagePickerController 489
-
21.1.1 图像选取器控制器 489
-
21.1.2 实现图像选取器控制器委托 491
-
21.2 设计 Camera 界面 492
-
21.2.1 隐私选项 494
-
21.2.2 实现摄像头视图控制器 495
-
21.3 小结 498
-
第 22 章 本地化翻译应用 499
-
22.1 本地化体系结构 499
-
22.2 字符串文件 500
-
22.2.1 字符串文件的格式 500
-
22.2.2 本地化的字符串函数 501
-
22.3 创建 LocalizeMe 应用 502
-
22.3.1 本地化项目 505
-
22.3.2 本地化 storyboard 508
-
22.3.3 创建并本地化字符串文件 512
-
22.3.4 应用显示名称的本地化 516
-
22.3.5 添加其他本地化 517
-
22.4 小结 517
-
22.5 全书总结 518
-
附录 A Swift 简介 519
学习笔记
Vue开发中整合axios的文件整理
前言 大家在vue日常开发中,不可避免要整合axios,这里简单记录一下整合中的文件,方便以后使用查找。下面来看看详细的介绍。 整合方法 整合文件axios.js import axios from 'axios';// 适配vue-resourceconst instance = axios.create();instance.interceptors.request.use(config= {//Serialize.decode(config);return config;});instance.interceptors.response.use(response= {return response.data;}, err= {if (err.response) {axios.post('/v1/error', err.response);return Promise.reject(err.response.data);}return Promise.reject({ code: 1024, message: err.message });});function plugin(Vue) {if (plugin.installed) {return;}Vue.http = instance;}if (typeof window !== 'undefined' window.Vue) {window.Vue.use(plugin);}export default plugin; vue插件使用 app.js……
微信小程序开发之IOS和Android兼容的问题
微信小程序开发之IOS和Android兼容的问题 一、时间转换问题: 这不只是小程序上面的问题是ios系统 都有这个问题 就是new Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解决方案如下 1.替换”-“为”/“ 2.删除”.“后面的字符串(带毫秒也会有问题) 代码如下: /** * 字符串转换为时间 * @param {String} src 字符串 */ strToDate(dateObj){ dateObj = dateObj.replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '').replace(/(-)/g, '/') dateObj = dateObj.slice(0, dateObj.indexOf(".")) return new Date(dateObj) } 二、fixed定位问题 整个页面的fixed定位,在ios下下拉会触发下拉事件,但是没有动画效果。Android就能正常运行 flex中使用 绝对定位,ios出现……
vue+axios+promise实际开发用法详解
axios它是基于promise的http库,可运行在浏览器端和node.js中,然后作者尤雨溪也是果断放弃了对其官方库vue-resource的维护,直接推荐axios库,小编我也是从vue-resource转换过来的,差别说不来,我们讲一下axios在实际开发中的用法 axios特点 1.从浏览器中创建 XMLHttpRequests 2.从 node.js 创建 http 请求 3.支持 Promise API 4.拦截请求和响应 (就是有interceptor) 5.转换请求数据和响应数据 6.取消请求 7.自动转换 JSON 数据 8.客户端支持防御 XSRF 安装axios和qs npm i axios --savenpm i qs--save 创建项公共模块API 我是用vue-cli创建的项目在src-util-api.js(公共请求模块js) 引入axios和qs import axios from 'axios' 有时候向后端发送数据,后端无法接收,考……
python能开发ios与安卓吗
python能开发ios与安卓吗? python能开发ios与安卓,用Python写安卓APP肯定不是最好的选择,但是肯定是一个很偷懒的选择 我们使用kivy开发安卓APP,Kivy是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写,对于多点触控有着非常良好的支持,不仅能让开发者快速完成简洁的交互原型设计,还支持代码重用和部署,绝对是一款颇让人惊艳的NUI框架。 因为跨平台的,所以只写一遍代码,就可以同时生成安卓及IOS的APP,很酷吧。 推荐:【Python教程】 Kivy简介 Kivy的主要架构由Kivy组织开发,并有Python用于Android,Kivy iOS和其它许多函式库被使用在所有平台。在2012年,Kivy从Python软件基金会获得$500……
IOS 开发之NSDictionary转换成JSON字符串
IOS 开发之NSDictionary转换成JSON字符串 普通情况下,你可能会用一个NSDictionary的分类去做NSDictionary转JSON,如下代码: NSError *error;NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:if (! jsonData) { return @"{}";} else { return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];} 然而,NSDictionary装的数据类型鱼龙混杂,有可能是NSDate,NSNumber,NSValue等Objective-C对象,而 [NSJSONSerialization dataWithJSONObject:options:error:] 这个方法是不能解析这些对象的,如果有这些对象,则会导致crash。所以我们应该在调用NSJSONSerialization之前加一步,将所有数据处理成NSString,代码如下: NSError *error = nil;NSData ……
以上就是本次介绍的iOS开发电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。
上一篇:云计算与分布式系统:从并行处理到物联网
下一篇:数据架构:大数据、数据仓库以及Data Vault