第一部分:iOS开发工具

第二部分:iOS开发实践

第10章 理解内存管理

10.1 引用计数

10.1.1 什么是引用计数,原理是什么

10.1.2 我们为什么需要引用计数

10.1.3 不要向已经释放的对象发送消息

10.1.4 循环引用(reference cycles)问题

10.1.5 使用Xcode检测循环引用

10.2 使用ARC

10.2.1 Automatic Reference Count

10.2.2 Core Foundation对象的内存管理

第11章 掌握GCD

11.1 GCD简介

11.2 使用GCD

11.2.1 block的定义

11.2.2 系统提供的dispatch方法

11.2.3 修改block之外的变量

11.2.4 后台运行

11.2.5 总结

第12章 使用UIWindow

12.1 UIWindow简介

12.2 为UIWindow增加UIView

12.3 系统对UIWindow的使用

12.3.1 WindowLevel

12.3.2 手工创建UIWindow

12.3.3 不要滥用UIWindow

12.3.4 参考资料

第13章 动态下载系统提供的多种中文字体

13.1 功能简介

13.1.1 前言

13.1.2 功能介绍

13.1.3 字体列表

13.2 使用教程

13.2.1 相关API介绍

13.2.2 总结

第14章 使用应用内支付

14.1 后台设置

14.2 iOS端开发

14.3 服务器开发

14.4 注意事项

第15章 基于UIWebView的混合编程

15.1 混合编程简介

15.2 使用模版引擎渲染HTML界面

15.3 Objective-C语言和JavaScript语言相互调用

15.4 如何传递参数

15.5 同步与异步

15.6 注意事项

15.6.1 线程阻塞问题

15.6.2 主线程的问题

15.6.3 键盘控制

15.6.4 CommonJS规范

15.7 使用Safari进行调试

第16章 安全性问题

16.1 前言

16.2 网络安全

16.2.1 安全的传输用户密码

16.2.2 防止通讯协议被轻易破解

16.2.3 验证应用内支付的凭证

16.3 本地文件和数据安全

16.3.1 程序文件的安全

16.3.2 本地数据安全

16.4 源代码安全

16.5 总结

第17章 基于CoreText的排版引擎

17.1 CoreText简介

17.2 基于CoreText的基础排版引擎

第18章 实战技巧

18.1 App Store与审核

18.1.1 撤销正在审核的应用

18.1.2 申请加急审核

18.1.3 应用在市场的名字

18.1.4 测试设备数的限制

18.1.5 如何将应用下架

18.1.6 如何举报别的应用侵权

18.1.7 iTunes Connect后台操作出错

18.1.8 Metadata Reject

18.2 开发技巧

18.2.1 UILabel内容模糊

18.2.2 收起键盘

18.2.3 NSJSONSerialization比NSKeyedArchiver更好

18.2.4 设置应用内的系统控件语言

18.2.5 为什么viewDidUnload被废弃

18.2.6 多人协作慎用Storyboard

18.2.7 避免滥用block

18.2.8 合并工程文件的冲突

18.2.9 忽略编译警告

18.3 Xcode使用技巧

18.3.1 Xcode快捷键

18.3.2 查找技巧

18.3.3 JavaScript文件设置调整

18.3.4 清除derivedData

18.3.5 target信息异常

18.3.6 下载Xcode

18.4 调试技巧

18.4.1 模拟器快捷键

18.4.2 覆盖安装注意事项

18.4.3 给模拟器相册增加图片

18.4.4 获得模拟器中的程序数据

18.4.5 安装旧版本的模拟器

18.4.6 模拟慢速网速

18.4.7 异常断点与符号断点

18.5 ipa文件格式

18.5.1 查看ipa的内容

18.5.2 查看ipa中的图片

18.6 为工程增加Daily Build

18.6.1 前言

18.6.2 步骤

18.6.3 遇到的问题

18.6.4 总结

18.7 使用脚本提高开发效率

18.7.1 删除未使用的开发效率

18.7.2 用脚本自动生成小尺寸的图片

18.7.3 检查图片

18.8 管理代码片段

18.8.1 代码片段介绍

18.8.2 定义自己的代码片段

18.8.3 使用Git管理代码片段

18.8.4 其他代码片段管理工具

第三部分:iOS开发底层原理

第19章 Objective-C对象模型

19.1 简介

19.2 isa指针

19.3 类的成员变量

19.4 对象模型的应用

19.4.1 动态创建对象

19.4.2 系统相关API及应用

19.4.3 参考文献

第20章 Tagged Pointer对象

20.1 原有系统的问题

20.2 Tagged Pointer介绍

20.2.1 Tagged Pointer

20.2.2 特点

20.3 注意事项和实现细节

20.3.1 isa指针

20.3.2 64位下的isa指针优化

20.3.3 isa的bit位含义

20.3.4 总结

20.3.5 参考文献

第21章 block对象模型

21.1 block的内部数据结构定义

21.2 用clang分析block实现

21.2.1 NSConcreteMallocBlock类型的block的实现

21.2.2 变量的复制

21.3 注意事项

21.3.1 避免循环引用

21.3.2 ARC对block类型的影响

21.3.3 参考文献

《iOS开发进阶》书籍目录的更多相关文章

  1. 《iOS开发实战 从入门到上架App Store(第2版)》书籍目录

    第1章 开发准备 1.1 iOS 10新特性简述 1.1.1 新增触觉反馈编程接口 1.1.2 SiriKit框架的开放 1.1.3 引入Messages App 1.1.4 通知框架的整合与扩展 1 ...

  2. 【转】 iOS开发之打包上传到App Store——(一)各种证书的理解

    OK,有日子没写iOS开发的相关文章啦,主要是最近的精力都没在这上面,不过既然产品已经快要出来了,就有必要了解一下各种证书啥的(众所周知iOS的一堆证书可是很让人头大呀),最近确实被这个搞得头大,然后 ...

  3. iOS开发从申请账号到上线APP Store步骤

    1.developer.apple.com 申请开发者账号 2.根据API Cloud创建证书: http://docs.apicloud.com/Dev-Guide/iOS-License-Appl ...

  4. iOS开发 点击跳转到App Store 或者 点击按钮去评价

    //跳转到应用页面 NSString *str = [NSString stringWithFormat:@"http://itunes.apple.com/us/app/id%d" ...

  5. iOS 开发之应用内弹出 App Store 应用界面

    在APP内给其他APP做推广,经常用到在应用内弹出应用的APP #import <StoreKit/SKStoreProductViewController.h> 设置代理:<SKS ...

  6. 2018最新苹果APP上架App Store流程(超详细)

    本文转发:https://blog.csdn.net/xxw888/article/details/73618837 2018最新整理iOS app上架app详细教程 上架iOS需要一个付费688的开 ...

  7. iOS开发-UI 从入门到精通(三)

    iOS开发-UI 从入门到精通(三)是对 iOS开发-UI 从入门到精通(一)知识点的综合练习,搭建一个简单地登陆界面,增强实战经验,为以后做开发打下坚实的基础! ※在这里我们还要强调一下,开发环境和 ...

  8. iOS开发-UI 从入门到精通(二)

    iOS开发-UI 从入门到精通(二)是对 iOS开发-UI 从入门到精通(一)知识点的巩固,主要以习题练习为主,增强实战经验,为以后做开发打下坚实的基础! ※开发环境和注意事项: 1.前期iOS-UI ...

  9. iOS开发——实战OC篇&环境搭建之Xib(玩转UINavigationController与UITabBarController)

    iOS开发——实战OC篇&环境搭建之Xib(玩转UINavigationController与UITabBarController)   前面我们介绍了StoryBoard这个新技术,和纯技术 ...

  10. iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController)

    iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController)   这里我们就直接上实例: 一:新建一个项目singleV ...

随机推荐

  1. [蓝桥杯2017初赛]青蛙跳杯子 BFS

    题目描述 X星球的流行宠物是青蛙,一般有两种颜色:白色和黑色. X星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去. 如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里边有一只青蛙 ...

  2. IIS-URL重写参数

    参考:https://www.cnblogs.com/gggzly/p/5960335.html URL 重写规则由以下部分组成: 模式 - 可以理解为规则,分通配符和正则匹配     条件 - 可以 ...

  3. LOJ 6279 数列分块入门3

    嗯... 题目链接:https://loj.ac/problem/6279 这道题在分块的基础上用vc数组记录,然后最后分三块,两边暴力枚举找前驱,中间lower_bound找前驱. AC代码: #i ...

  4. TakeColor下载及调节鼠标指针不一致的问题

    取色器下载链接: 链接:https://pan.baidu.com/s/19TBWZA2ltaLQjzskTipnmg 提取码:2uz3 若出现指针与鼠标不一致: TakeColor v8.0 > ...

  5. python ui自动化之元素定位和常用操作

    做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示) 一.最通用的几种定位方式: 1.通过id定位 ...

  6. $.extend({},旧的,新的);合并对象,后面的覆盖前面的

    $.extend({},旧的,新的):合并对象,后面的覆盖前面的: <script> $(function(){ int={ a:1, b:function(){console.log(' ...

  7. Java判断对象是否为Null/空

    package com.taiping.test; import java.lang.reflect.Field; import java.lang.reflect.Type; /** * <p ...

  8. POJ1321棋盘问题(暴搜)

    在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C. ...

  9. oracle 高级函数2

    原 oracle 高级函数 2017年08月17日 16:44:19 阅读数:1731 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013278 ...

  10. poj1988 Cube Stacking(并查集

    题目地址:http://poj.org/problem?id=1988 题意:共n个数,p个操作.输入p.有两个操作M和C.M x y表示把x所在的栈放到y所在的栈上(比如M 2 6:[2 4]放到[ ...