展开全部

主编推荐语

本书8章涵盖iOS面试准备、设计模式、基础知识、UI、网络、上架指南等方面,适合有基础开发者。

内容简介

本书分为8个章节,第1章讲解面试前需要进行准备的事项。第2章讲解开发中常用的设计模式,第3章进行Foundation库中核心数据结构的讲解。第4章对结合一些简单的算法,对面试常见算法问题进行讲解。第5章为iOS开发的语言基础知识,包括Obejctive-C与Swift两种语言的讲解。第6章介绍核心的UI开发技术。第7章对网络和数据解析的内容进行讲解。第8章是iOS应用的上架指南。本书主要面向有一定iOS开发基础想要应聘iOS开发岗位的iOS开发工程师使用。

目录

  • 封面页
  • 书名页
  • 版权页
  • 作者介绍
  • 内容简介
  • 前言
  • 目录
  • 第1章 面试前的准备
  • 1.1 精致你的简历
  • 1.1.1 求职简历的基本格式
  • 1.1.2 投其所好——精准投递你的简历
  • 1.2 筛选面试机会
  • 1.2.1 从眼前着眼,也考虑未来
  • 1.2.2 在面试过程中分析公司
  • 1.3 笔试与面试
  • 1.3.1 关于笔试需要注意的事
  • 1.3.2 关于面试需要注意的事
  • 1.4 面试中的交流与提问
  • 1.4.1 尽量使单向的陈述变成双向的交流
  • 1.4.2 把握提问的机会
  • 1.5 Offer的选择与职业规划
  • 1.5.1 选择Offer时的几点建议
  • 1.5.2 关于职业规划
  • 1.6 回顾、思考与练习
  • 1.6.1 回顾
  • 1.6.2 思考与练习
  • 第2章 常用设计模式应用解析
  • 2.1 设计模式概述
  • 2.1.1 初识设计模式
  • 2.1.2 设计模式的分类
  • 2.2 关于UML建模语言
  • 2.2.1 UML简介
  • 2.2.2 使用UML描述类之间的关系
  • 2.3 软件设计的7条原则
  • 2.3.1 开闭原则
  • 2.3.2 里式替换原则
  • 2.3.3 单一职责原则
  • 2.3.4 接口隔离原则
  • 2.3.5 依赖倒置原则
  • 2.3.6 迪米特原则
  • 2.3.7 合成复用原则
  • 2.4 创建型设计模式
  • 2.4.1 单例设计模式
  • 2.4.2 原型设计模式
  • 2.4.3 工厂方法设计模式
  • 2.4.4 抽象工厂设计模式
  • 2.4.5 建造者设计模式
  • 2.5 结构型设计模式
  • 2.5.1 代理设计模式
  • 2.5.2 适配器设计模式
  • 2.5.3 桥接设计模式
  • 2.5.4 装饰设计模式
  • 2.5.5 外观设计模式
  • 2.5.6 享元设计模式
  • 2.5.7 组合设计模式
  • 2.6 行为型设计模式
  • 2.6.1 模板方法设计模式
  • 2.6.2 策略设计模式
  • 2.6.3 命令设计模式
  • 2.6.4 责任链设计模式
  • 2.6.5 状态设计模式
  • 2.6.6 观察者设计模式
  • 2.6.7 中介者设计模式
  • 2.6.8 迭代器设计模式
  • 2.6.9 访问者设计模式
  • 2.6.10 备忘录设计模式
  • 2.6.11 解释器设计模式
  • 2.7 回顾、思考与练习
  • 2.7.1 回顾
  • 2.7.2 思考与练习
  • 第3章 核心数据类型你不知道的真相
  • 3.1 多变的NSString类
  • 3.1.1 从NSString对象的引用计数说起
  • 3.1.2 iOS程序的内存分布
  • 3.1.3 NSString类簇
  • 3.1.4 NSString复制相关的方法
  • 3.2 深入理解NSArray类
  • 3.2.1 NSArray相关类簇
  • 3.2.2 NSArray数组的内存分布
  • 3.3 NSDictionary的相关内容
  • 3.3.1 NSDictionary类簇
  • 3.3.2 了解哈希表
  • 3.3.3 处理哈希碰撞
  • 3.3.4 NSDictionary的实现原理
  • 3.4 Swift语言中的字符串、数组与字典类型
  • 3.4.1 值类型与引用类型
  • 3.4.2 在Swift中使用指针
  • 3.4.3 指针与内存管理
  • 3.4.4 Swift中的String类型
  • 3.4.5 Swift中的Array类型
  • 3.4.6 Swift中的Dictionary类型
  • 3.5 回顾、思考与练习
  • 3.5.1 回顾
  • 3.5.2 思考与练习
  • 第4章 常用算法解析
  • 4.1 关于算法的复杂度
  • 4.1.1 时间复杂度概述
  • 4.1.2 常见的几种时间复杂度
  • 4.1.3 空间复杂度概述
  • 4.2 常用查找算法
  • 4.2.1 顺序查找算法
  • 4.2.2 二分查找算法
  • 4.2.3 插值查找算法
  • 4.2.4 斐波那契查找算法
  • 4.2.5 二叉查找树查找算法
  • 4.2.6 分块查找算法
  • 4.2.7 哈希查找算法
  • 4.3 常用排序算法
  • 4.3.1 冒泡排序算法
  • 4.3.2 选择排序算法
  • 4.3.3 快速排序算法
  • 4.3.4 插入排序算法
  • 4.3.5 希尔排序算法
  • 4.3.6 桶排序算法
  • 4.3.7 归并排序算法
  • 4.3.8 堆排序算法
  • 4.4 树相关算法
  • 4.4.1 树的概念
  • 4.4.2 二叉树
  • 4.4.3 二叉树的遍历
  • 4.4.4 二叉查找树
  • 4.4.5 平衡二叉查找树
  • 4.4.6 构建平衡二叉查找树
  • 4.5 回顾、思考与练习
  • 4.5.1 回顾
  • 4.5.2 思考与练习
  • 第5章 容易被忽略的语法雷区
  • 5.1 Objective-C中的属性
  • 5.1.1 @property语法做了什么
  • 5.1.2 属性修饰符
  • 5.1.3 Setter方法语义类修饰符
  • 5.1.4 访问器名称相关的修饰符
  • 5.1.5 可写性相关的修饰符
  • 5.1.6 原子性相关的修饰符
  • 5.1.7 为空性相关的修饰符
  • 5.2 深入理解引用计数技术
  • 5.2.1 手动引用计数
  • 5.2.2 初步了解自动引用计数的原理
  • 5.2.3 自动释放池
  • 5.3 Objective-C中的Block
  • 5.3.1 Block的类型
  • 5.3.2 Block中变量的捕获
  • 5.3.3 __block关键字
  • 5.4 iOS程序开发中的RunLoop
  • 5.4.1 线程与RunLoop的关系
  • 5.4.2 RunLoop的运行机制
  • 5.4.3 RunLoop的模式
  • 5.5 Objective-C语言的消息机制与运行时
  • 5.5.1 使用消息发送代替函数调用
  • 5.5.2 消息传递的过程
  • 5.5.3 关于super关键字
  • 5.5.4 Objective-C的运行时技术
  • 5.6 Swift中的“?”与“!”
  • 5.6.1 关于可选类型
  • 5.6.2 隐式解析与可选链
  • 5.6.3 可选类型的本质
  • 5.7 Swift中的权限控制
  • 5.7.1 关于private
  • 5.7.2 关于fileprivate
  • 5.7.3 关于internal
  • 5.7.4 public与open
  • 5.8 Swift中的泛型
  • 5.8.1 泛型使用示例
  • 5.8.2 对泛型进行约束
  • 5.9 Swift中的协议与扩展
  • 5.9.1 Swift中协议的用法
  • 5.9.2 协议与扩展的结合使用
  • 5.10 回顾、思考与练习
  • 5.10.1 回顾
  • 5.10.2 思考与练习
  • 第6章 界面开发核心技术
  • 6.1 自动布局技术
  • 6.1.1 自动布局的基本原理
  • 6.1.2 NSLayoutConstraint对象的使用
  • 6.1.3 使用VFL创建约束对象
  • 6.1.4 布局锚点NSLayoutAnchor的应用
  • 6.2 iOS开发中的动画系统
  • 6.2.1 动画的本质
  • 6.2.2 关于CALayer
  • 6.2.3 CALayer的隐式动画
  • 6.2.4 隐式动画的原理
  • 6.2.5 各种常用的CALayer子类
  • 6.2.6 Core Animation核心动画技术
  • 6.3 iOS中的绘图技术
  • 6.3.1 屏幕渲染原理
  • 6.3.2 iOS页面渲染的过程
  • 6.3.3 图层的绘制
  • 6.3.4 使用CGContext手动绘制图层
  • 6.4 页面的性能优化
  • 6.4.1 控制图层数量
  • 6.4.2 合理使用离屏渲染
  • 6.4.3 更多提高页面性能的方式
  • 6.5 回顾、思考与练习
  • 6.5.1 回顾
  • 6.5.2 思考与练习
  • 第7章 多线程核心知识
  • 7.1 pthread多线程技术的应用
  • 7.1.1 pthread的简单使用
  • 7.1.2 可配置的线程属性
  • 7.1.3 pthread中的常用函数
  • 7.1.4 pthread进行线程间通信
  • 7.2 NSThread多线程编程技术
  • 7.2.1 使用NSThread开启新线程的几种方式
  • 7.2.2 NSThread中的相关属性与方法解析
  • 7.2.3 NSThread相关的几个通知
  • 7.3 GCD多线程编程技术
  • 7.3.1 GCD调度机制
  • 7.3.2 添加任务到GCD队列
  • 7.3.3 使用调度组
  • 7.3.4 使用GCD进行快速迭代
  • 7.3.5 使用GCD监听事件源
  • 7.3.6 GCD中信号的使用
  • 7.3.7 执行延时任务
  • 7.3.8 GCD中的单例
  • 7.3.9 GCD中的栅栏函数
  • 7.4 NSOperationQueue多线程编程
  • 7.4.1 理解NSOperation
  • 7.4.2 NSOperationQueue操作队列
  • 7.5 关于线程死锁
  • 7.6 回顾、思考与练习
  • 7.6.1 回顾
  • 7.6.2 思考与练习
  • 第8章 应用上架指南
  • 8.1 应用程序推送
  • 8.1.1 UserNotification框架概览
  • 8.1.2 推送普通的本地通知
  • 8.1.3 通知触发器
  • 8.1.4 为通知内容添加附件
  • 8.1.5 自定义通知模板
  • 8.1.6 远程推送
  • 8.2 应用程序上架流程
  • 8.2.1 关于应用程序测试
  • 8.2.2 提交应用程序到AppStore
  • 8.2.3 应用审核拒绝后的处理方案
  • 8.3 回顾、思考与练习
  • 8.3.1 回顾
  • 8.3.2 思考与练习
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。