当前位置:首页 > 工业技术
iOS开发  从零基础到精通
iOS开发  从零基础到精通

iOS开发 从零基础到精通PDF电子书下载

工业技术

  • 电子书积分:22 积分如何计算积分?
  • 作 者:史昕,汤海波,闫珍编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302478898
  • 页数:824 页
图书介绍:本书包含5大部分,27个章节,涵盖了针对iOS初学者所需要掌握的相关技能,主要内部包括:Objective-C语言基础,UIKit框架,开发进阶,常用框架以及辅助工具介绍,Swift语言基础。对苹果新推出的Swift开发语言进行介绍,作为提高的内容。
《iOS开发 从零基础到精通》目录

第1部分 Objective-C语言基础 3

第1章 环境搭建 3

1.1 Xcode简介 3

1.2 创建App应用 3

1.2.1 下载安装Xcode 3

1.2.2 使用Xcode创建App 4

1.2.3 Xcode开发界面介绍 5

1.3 程序调试 6

1.3.1 App运行状态监控 6

1.3.2 UI界面分析 6

1.3.3 断点调试 7

1.4 Xcode常用快捷键 8

1.5 常用插件 9

1.5.1 苹果封锁第三方插件的原因 9

1.5.2 源码编辑器扩展 9

1.6 快捷代码段 10

1.6.1 如何创建代码段 10

1.6.2 常用代码段 11

第2章 数据类型与表达式 13

2.1 数据类型与常量 13

2.1.1 基本数据类型 13

2.1.2 限定词 15

2.1.3 id与instancetype 17

2.2 算术表达式 18

2.2.1 基本运算符 18

2.2.2 数据类型转换 20

2.3 循环结构 22

2.3.1 for循环 22

2.3.2 for-in循环 24

2.3.3 while循环 26

2.3.4 break与continue 28

2.4 选择结构 29

2.4.1 if语句 29

2.4.2 switch语句 32

2.4.3 条件运算符/三目运算符 35

2.5 typedef语句 36

第3章 类、对象与方法 38

3.1 类 38

3.1.1 类的定义 38

3.1.2 类的继承 40

3.2 属性 42

3.2.1 属性的定义 42

3.2.2 公有属性与私有属性 44

3.2.3 属性关键字 45

3.3 方法 48

3.3.1 方法的定义 48

3.3.2 方法的调用 49

3.3.3 方法的重写 52

3.4 对象 54

3.4.1 创建对象 54

3.4.2 对象操作 57

3.5 变量 60

3.5.1 局部变量 60

3.5.2 全局变量 61

3.5.3 静态变量 64

3.5.4 const关键字 66

第4章 Foundation框架 69

4.1 Foundation框架简介 69

4.2 字符串类 69

4.2.1 不可变字符串NSString 69

4.2.2 可变字符串NSMutableString 74

4.3 数组类 76

4.3.1 不可变数组NSArray 76

4.3.2 可变数组NSMutableArray 79

4.4 字典类 81

4.4.1 不可变字典NSDictionary 81

4.4.2 可变字典NSMutableDictionary 84

4.5 NSNumber类 86

4.6 NSDate类 88

4.7 NSFileManager类 92

4.7.1 文件操作 92

4.7.2 目录操作 96

4.7.3 枚举目录中的内容 98

4.7.4 文件的读取与写入 100

4.8 NSURL类 102

4.9 NSBundle类 103

第5章 Objective-C语言特性 107

5.1 代码块 107

5.1.1 Block简介 107

5.1.2 Block的参数与返回值 109

5.1.3 操作Block外部的变量 112

5.1.4 Block回调 114

5.2 分类 116

5.3 协议 118

5.3.1 协议简介 118

5.3.2 代理 119

5.4 KVC 120

5.4.1 使用KVC赋值取值 120

5.4.2 字典转模型 122

5.4.3 修改readonly的属性以及私有属性 123

5.5 KVO 125

第6章 Objective-C进阶 128

6.1 对象复制 128

6.1.1 浅复制与深复制 128

6.1.2 可变对象复制与不可变对象复制 129

6.1.3 自定义对象复制 135

6.2 内存管理 137

6.3 预编译指令 139

6.3.1 宏定义 139

6.3.2 #include、#import与@class 142

6.3.3 条件编译 143

6.4 NSLog()函数 145

6.4.1 NSLog()函数基本使用 145

6.4.2 定制输入日志的格式 146

6.5 结构 148

6.5.1 结构的定义与基本使用 148

6.5.2 结构的嵌套 150

第2部分 iOS开发基础 155

第7章 基础UI控件 155

7.1 UIKit框架 155

7.2 视图UIView 156

7.2.1 UIView简介 156

7.2.2 视图UIView的外观 159

7.2.3 视图UIView的形变 162

7.2.4 视图UIView的层次关系 163

7.2.5 视图UIView的动画 166

7.2.6 响应用户交互事件 167

7.2.7 内容模式contentMode 170

7.2.8 图片拉伸 172

7.2.9 使用代码创建自定义UIView 175

7.2.10 使用XIB创建自定义UIView 177

7.2.11 控件改变坐标系(convertRect:) 180

7.3 图片控件UIImageView 181

7.3.1 基本使用 181

7.3.2 常用操作 183

7.3.3 帧动画功能 185

7.4 按钮控件UIButton 186

7.4.1 基本使用 186

7.4.2 按钮的创建 188

7.4.3 调整图标与标题的位置 190

7.5 文本控件UILabel 192

7.5.1 UILabel简介 192

7.5.2 常用的UILabel使用场景 194

7.6 提示框控件 195

7.7 文本输入框UITextField 198

7.7.1 UITextField的基本属性 198

7.7.2 UITextField的代理方法简介 201

7.7.3 UITextField的代理方法实例之键盘回收 203

7.7.4 UITextField的代理方法实例之字数限制 205

第8章 高级UI控件 207

8.1 滚动视图UIScrollView 207

8.1.1 UIScrollView基本使用 207

8.1.2 UIScrollView常用代理方法的实现 209

8.1.3 视图的缩放功能 212

8.2 表视图UITableView 214

8.2.1 UITableView基本介绍 214

8.2.2 UITableView的数据源方法 217

8.2.3 了解单元格UITableViewCell 219

8.2.4 UITableView创建示例 220

8.2.5 UITableView代理方法之点击单元格 222

8.2.6 UITableView代理方法之编辑单元格 224

8.2.7 UITableViewCell性能优化 227

8.2.8 分段Section 228

8.2.9 分段Section实现示例 231

8.2.10 自定义Cell 235

8.2.11 Cell高度的设置 238

8.2.12 动态调整Cell高度(self-sizing) 238

8.2.13 动态调整Cell高度(代码) 240

8.2.14 UITableView+FDTemplateLayoutCell计算Cell高度 244

8.2.15 改变Cell位置 247

8.2.16 UITableView的Header和Footer 247

8.2.17 去除多余的单元格分割线 248

8.3 集合视图UICollectionView 249

8.3.1 UICollectionView简介 249

8.3.2 UICollectionView数据源协议DataSource 252

8.3.3 最简单的集合视图实现 253

8.3.4 UICollectionView代理协议方法简介 255

8.3.5 UICollectionView代理方法实例 256

8.3.6 UICollectionViewFlowLayout简介 257

8.3.7 UICollectionViewFlowLayout使用实例 259

8.3.8 UICollectionViewDelegateFlowLayout类的代理方法实现 262

8.3.9 自定义Cell 265

8.4 手势UIGestureRecognizer 267

8.4.1 UIGestureRecognizer简介 267

8.4.2 点击手势UITapGestureRecognizer 269

8.4.3 捏合与旋转手势UIPinchGestureRecognizer 270

8.4.4 滑动手势UISwipeGestureRecognizer 273

8.4.5 拖动手势UIPanGestureRecognizer 275

8.4.6 长按手势UILongPressGestureRecognizer 276

第9章 控制器 278

9.1 控制器UIViewController 278

9.1.1 控制器简介以及创建控制器 278

9.1.2 使用XIB以及Storyboard创建控制器 279

9.1.3 控制器的生命周期 283

9.1.4 使用Storyboard切换控制器 285

9.1.5 使用代码切换控制器 287

9.1.6 控制器嵌套 288

9.2 导航控制器UINavigationController 291

9.2.1 导航控制器简介 291

9.2.2 控制器跳转 295

9.2.3 子控制器的管理 295

9.2.4 UINavigationBar 296

9.2.5 barStyle属性 297

9.2.6 barTintColor与tintColor 298

9.2.7 导航栏设置背景图片 299

9.2.8 UINavigationItem 300

9.2.9 UINavigationItem定制示例 302

9.2.10 UINavigationltem显示原始图片样式 304

9.2.11 UINavigationController的代理方法 304

9.2.12 顺传数据 305

9.2.13 使用代理逆传数据 307

9.2.14 使用通知逆传数据 309

9.2.15 使Block逆传数据 310

9.2.16 工具栏toolBar 311

9.3 UITabBarController 313

9.3.1 UITabBarController的常用属性和方法 313

9.3.2 UITabBar的常用属性和方法 314

9.3.3 UITabBarItem的常用属性和方法 315

9.3.4 微信TabBar实现 316

9.3.5 UITabBarController的代理协议 318

9.4 UIWindow、UIView与UIViewController关系 319

9.4.1 概念简介 319

9.4.2 关系描述 320

第10章 其他UI控件 322

10.1 WKWebView 322

10.1.1 WKWebView简介 322

10.1.2 WKWebView的基本使用——加载网页 324

10.1.3 网页浏览控制 325

10.1.4 加载本地文件 328

10.1.5 WKWebView代理协议之WKNavigationDelegate 330

10.2 UITextView 330

10.2.1 UITextView的基本使用 330

10.2.2 UITextView的代理方法 332

10.3 UIPageControl 333

10.3.1 UIPageControl介绍 333

10.3.2 UIPageControl实际应用 334

10.4 UIPickerView 338

10.4.1 UIPickerView简介 338

10.4.2 UIPickerView的基本使用 340

10.4.3 相互依赖的多列选择器 342

10.5 UISilder 345

10.5.1 UISlider基本介绍 345

10.5.2 UISlider实例 347

10.6 UIDatePicker 349

10.6.1 UIDatePicker基本介绍 349

10.6.2 UIDatePicker基本使用 349

10.7 UISegmentedControl 351

10.7.1 UISegmentedControl简介 351

10.7.2 UISegmentedControl实例 352

第3部分 iOS开发进阶 359

第11章 多线程 359

11.1 线程基础知识 359

11.2 GCD 362

11.2.1 GCD基本概念介绍 362

11.2.2 队列与任务组合 363

11.2.3 线程间通信 369

11.2.4 队列组dispatch group 371

11.2.5 延迟执行操作 373

11.3 NSOperation 374

11.3.1 NSOperation基本使用 374

11.3.2 线程间通信 379

11.3.3 任务间的执行依赖 380

第12章 网络 382

12.1 网络开发基本概念介绍 382

12.2 常用网络协议之HTTP 383

12.3 网络请求之GET、POST请求 384

12.4 AFNetworking框架介绍 385

12.5 聚合数据API简介 387

12.6 GET请求与POST请求使用示例 389

12.7 JSON和XML简单介绍 391

第13章 数据持久化 394

13.1 沙盒 394

13.1.1 沙盒基础 394

13.1.2 在Mac上查看沙盒目录 396

13.2 Plist文件 397

13.2.1 Plist简介 397

13.2.2 Plist文件的读取 399

13.2.3 Plist文件的写入 400

13.2.4 操作实例 402

13.3 偏好设置NSUserDefaults 406

13.3.1 NSUserDefaults简介 406

13.3.2 读写示例 407

13.4 归档 409

13.4.1 基本使用 409

13.4.2 单个对象归档/解档 410

13.4.3 自定义对象归档/解档 412

13.4.4 归档多个自定义对象 416

13.4.5 子类对象的归档 419

13.4.6 归档多个不同类型的对象 422

13.5 SQLite 424

13.5.1 数据库的操作 424

13.5.2 表的操作 427

13.5.3 数据记录的操作 430

13.6 FMDB 433

13.6.1 基本介绍 433

13.6.2 更新操作与查询操作 436

13.6.3 线程安全 438

13.7 Core Data 439

13.7.1 概念简介 439

13.7.2 使用示例 440

13.8 Realm 445

13.8.1 Realm基本介绍 445

13.8.2 Realm的安装 449

13.8.3 常用属性与方法 451

13.8.4 Realm使用示例 453

第14章 绘图和动画 457

14.1 核心绘画 457

14.1.1 核心绘画的基本概念 457

14.1.2 贝塞尔路径 458

14.1.3 绘图方法和步骤 460

14.1.4 常见图形的绘制方法 461

14.2 UIImage绘图应用 464

14.2.1 绘制图片 464

14.2.2 添加水印 467

14.2.3 裁剪圆形图片 470

14.2.4 截屏 473

14.3 CALayer 474

14.3.1 CALayer简介 474

14.3.2 iOS开发中的坐标系 477

14.3.3 动画属性 481

14.4 核心动画 482

14.4.1 核心动画简介 482

14.4.2 动画的实现步骤 484

14.4.3 CAPropertyAnimiation属性动画 485

14.4.4 CABasicAnimiation基本动画 486

14.4.5 CAKeyframeAnimation关键帧动画 487

14.4.6 CASpringAnimation弹簧动画 489

14.4.7 CAAnimationGroup动画组 490

14.4.8 CATransition转场动画 492

第15章 设计模式 495

15.1 iOS下的MVC设计模式 495

15.2 单例模式 497

15.3 iOS下的MVVM设计模式 499

第16章 自动布局 502

16.1 自动布局简介 502

16.2 Masonry 505

第17章 设备调用 511

17.1 UIDevice类 511

17.1.1 获取设备基本信息 511

17.1.2 获取电池信息 512

17.1.3 接近传感器 514

17.1.4 方向传感器 515

17.2 位置应用 517

17.2.1 CoreLocation框架简介 517

17.2.2 CoreLocation框架的基本使用 519

17.2.3 地理信息编码简介 522

17.2.4 CLGeocoder应用案例1 523

17.2.5 CLGeocoder应用案例2 526

17.3 地图应用 528

17.3.1 MKMapView简介 528

17.3.2 MKMapView的基本使用 530

17.3.3 简易地图标注 531

17.3.4 简易地图标注示例 533

17.3.5 复杂地图标注 534

17.3.6 复杂地图标注示例 535

17.4 相机与相册 537

17.4.1 UIImagePickerController简介 537

17.4.2 UIImagePickerController的使用 538

17.5 CoreMotion框架 540

17.5.1 CoreMotion基本介绍 540

17.5.2 获取运动传感器的裸数据 543

17.5.3 CMDeviceMotion 546

17.6 系统应用调用 548

17.6.1 拨打电话功能 548

17.6.2 发送短信功能 550

17.6.3 发送邮件功能 552

第18章 证书管理与应用发布 555

18.1 证书管理 555

18.1.1 iOS开发证书(调试证书)管理 555

18.1.2 iOS发布证书创建详解 565

18.2 推送证书管理 574

18.2.1 推送调试证书 574

18.2.2 推送生产证书 577

18.3 App Store应用发布 581

18.3.1 App Store应用发布详解 581

18.3.2 App被拒绝上架的原因解析 590

第19章 消息推送 593

19.1 远程消息推送 593

19.1.1 极光(JPush)消息推送集成 593

19.1.2 获取推送消息内容 596

19.1.3 打开指定界面(自定义消息内容) 597

19.1.4 管理App的Badge(本地方式) 599

19.1.5 管理App的Badge(远程服务器方式) 600

19.1.6 更改推送消息提示音 602

19.2 本地消息推送(基于iOS 10 UserNotifications框架) 604

19.2.1 UNNotificationRequest类 604

19.2.2 UNNotificationContent类 605

19.2.3 UNNotificationTrigger类 607

19.2.4 UNUserNotificationCenterDelegate代理协议 609

19.2.5 示例代码 610

第20章 其他高级知识点 613

20.1 App的生命周期 613

20.2 使用AVFoundation框架实现扫描二维码 618

第4部分 常用第三方框架与工具 623

第21章 常用第三方框架介绍 623

21.1 CocoaPods 623

21.1.1 CocoaPods的安装 623

21.1.2 使用CocoaPods安装SDK 626

21.2 高德地图 629

21.2.1 高德地图简介 629

21.2.2 高德地图SDK的安装 630

21.2.3 地图SDK简介 632

21.2.4 绘制地图标注 634

21.2.5 定位SDK 636

21.3 SDWebImage 637

21.4 免费短信验证码 639

21.5 MBProgressHUD 643

21.5.1 MBProgressHUD简介 643

21.5.2 MBProgressHUD基本使用 645

21.6 YYModel 649

21.6.1 YYModel简介 649

21.6.2 YYModel使用案例 650

第22章 常用开发工具介绍 652

22.1 Reveal——AppUI界面分析 652

22.1.1 Reveal使用简介 652

22.1.2 分析任意i0S应用的UI界面 655

22.2 Charles——网络抓包工具 657

22.2.1 抓取HTTP请求(基础) 657

22.2.2 抓取HTTPS请求(高级) 659

22.3 GitHub 664

22.3.1 GitHub简介 664

22.3.2 GitHub Desktop桌面工具的安装 664

22.3.3 创建仓库 667

22.3.4 版本控制 670

22.3.5 分支branch操作 676

22.3.6 冲突处理 678

22.3.7 团队合作 681

第5部分 Swift语言基础 689

第23章 Swift语言基础 689

23.1 Swift简介 689

23.2 常量和变量 691

23.3 基本运算符 693

23.4 字符串和字符 694

23.5 集合类型 700

23.6 流程控制 707

23.6.1 循环语句 707

23.6.2 条件语句 710

23.6.3 控制转移语句 712

23.7 函数基础 715

23.8 函数类型 718

23.9 闭包 720

23.10 枚举 724

23.11 类和结构体 728

23.12 属性 731

23.13 方法 735

23.14 下标 738

23.15 继承 740

23.16 初始化 743

23.17 析构 749

23.18 扩展 751

23.19 协议 757

23.20 泛型 760

23.21 可选链 763

第6部分 React Native基础 771

第24章 React Native基础 771

24.1 搭建React Native开发环境 771

24.2 编写Hello World 776

24.3 属性Props 778

24.4 状态State 780

24.5 样式style 781

24.6 界面布局 784

24.7 网络 788

24.8 Text组件 791

24.9 Image组件 794

24.10 Button组件 796

24.11 TouchableHighlight组件 799

24.12 TextInput组件 802

24.13 KeyboardAvoidingView组件 805

24.14 ScrollView组件 808

24.15 ListView组件 811

24.16 Navigator组件 815

24.17 TabBarIOS组件 820

参考文献 824

返回顶部