zoukankan      html  css  js  c++  java
  • iOS开发:从零基础到精通

    iOS开发:从零基础到精通

    前 言

    第1部分 Objective-C语言基础

    1 环境搭建

    1.1 Xcode简介
    1.2 创建App应用
    1.2.1 下载安装Xcode
    1.1.2 使用Xcode创建App
    1.2.3 Xcode开发界面介绍
    1.3 程序调试
    1.3.1 App运行状态监控
    1.3.2 UI界面分析
    1.3.3 断点调试
    1.4 Xcode常用快捷键
    1.5 常用插件
    1.5.1 苹果封锁第三方插件的原因
    1.5.2 源码编辑器扩展
    1.6 快捷代码段
    1.6.1 如何创建代码段
    1.6.2 常用代码段

    2 数据类型与表达式

    2.1 数据类型与常量
    2.1.1 基本数据类型
    2.1.2 限定词
    2.1.3 id与instancetype
    2.2 算术表达式
    2.2.1 基本运算符
    2.2.2 数据类型转换
    2.3 循环结构
    2.3.1 for循环
    2.3.2 for-in循环
    2.3.3 while循环
    2.3.4 break与continue
    2.4 选择结构
    2.4.1 if语句
    2.4.2 switch语句
    2.4.3 条件运算符/三目运算符
    2.5 typedef语句

    3 类、对象与方法

    3.1 类
    3.1.1 类的定义
    3.1.2 类的继承
    3.2 属性
    3.2.1 属性的定义
    3.2.2 公有属性与私有属性
    3.2.3 属性关键字
    3.3 方法
    3.3.1 方法的定义
    3.3.2 方法的调用
    3.3.3 方法的重写
    3.4 对象
    3.4.1 创建对象
    3.4.2 对象操作
    3.5 变量
    3.5.1 局部变量
    3.5.2 全局变量
    3.5.3 静态变量
    3.5.4 const关键字

    4 Foundation框架

    4.1 Foundation框架简介
    4.2 字符串类
    4.2.1 不可变字符串NSString
    4.2.2 可变字符串NSMutableString
    4.3 数组类
    4.3.1 不可变数组NSArray
    4.3.2 可变数组NSMutableArray
    4.4 字典类
    4.4.1 不可变字典NSDictionary
    4.4.2 可变字典NSMutableDictionary
    4.5 NSNumber类
    4.6 NSDate类
    4.7 NSFileManager类
    4.7.1 文件操作
    4.7.2 目录操作
    4.7.3 枚举目录中的内容
    4.7.4 文件的读取与写入
    4.8 NSURL类
    4.9 NSBundle类

    5 Objective-C语言特性

    5.1 代码块
    5.1.1 Block简介
    5.1.2 Block的参数与返回值
    5.1.3 操作Block外部的变量
    5.1.4 Block回调
    5.2 分类
    5.3 协议
    5.3.1 协议简介
    5.3.2 代理
    5.4 KVC
    5.4.1 使用KVC赋值取值
    5.4.2 字典转模型
    5.4.3 修改readonly的属性以及私有属性
    5.5 KVO

    6 Objective-C进阶

    6.1 对象复制
    6.1.1 浅复制与深复制
    6.1.2 可变对象复制与不可变对象复制
    6.1.3 自定义对象复制
    6.2 内存管理
    6.3 预编译指令
    6.3.1 宏定义
    6.3.2 include、 import与@class
    6.3.3 条件编译
    6.4 NSLog()函数
    6.4.1 NSLog()函数基本使用
    6.4.2 定制输入日志的格式
    6.5 结构
    6.5.1 结构的定义与基本使用
    6.5.2 结构的嵌套

    第2部分 iOS开发基础

    7 基础UI控件

    7.1 UIKit框架
    7.2 视图UIView
    7.2.1 UIView简介
    7.2.2 视图UIView的外观
    7.2.3 视图UIView的形变
    7.2.4 视图UIView的层次关系
    7.2.5 视图UIView的动画
    7.2.6 响应用户交互事件
    7.2.7 内容模式contentMode
    7.2.8 图片拉伸
    7.2.9 使用代码创建自定义UIView
    7.2.10 使用XIB创建自定义UIView
    7.2.11 控件改变坐标系(convertRect:)
    7.3 图片控件UIImageView
    7.3.1 基本使用
    7.3.2 常用操作
    7.3.3 帧动画功能
    7.4 按钮控件UIButton
    7.4.1 基本使用
    7.4.2 按钮的创建
    7.4.3 调整图标与标题的位置
    7.5 文本控件UILabel
    7.5.1 UILabel简介
    7.5.2 常用的UILabel使用场景
    7.6 提示框控件
    7.7 文本输入框UITextField
    7.7.1 UITextField的基本属性
    7.7.2 UITextField的代理方法简介
    7.7.3 UITextField的代理方法实例之键盘回收
    7.7.4 UITextField的代理方法实例之字数限制

    8 高级UI控件

    8.1 滚动视图UIScrollView
    8.1.1 UIScrollView基本使用
    8.1.2 UIScrollView常用代理方法的实现
    8.1.3 视图的缩放功能
    8.2 表视图UITableView
    8.2.1 UITableView基本介绍
    8.2.2 UITableView的数据源方法
    8.2.3 了解单元格UITableViewCell
    8.2.4 UITableView创建示例
    8.2.5 UITableView代理方法之点击单元格
    8.2.6 UITableView代理方法之编辑单元格
    8.2.7 UITableViewCell性能优化
    8.2.8 分段Section
    8.2.9 分段Section实现示例
    8.2.10 自定义Cell
    8.2.11 Cell高度的设置
    8.2.12 动态调整Cell高度(self-sizing)
    8.2.13 动态调整Cell高度(代码)
    8.2.14 UITableView+FDTemplateLayoutCell计算Cell高度
    8.2.15 改变Cell位置
    8.2.16 UITableView的Header和Footer
    8.2.17 去除多余的单元格分割线
    8.3 集合视图UICollectionView
    8.3.1 UICollectionView简介
    8.3.2 UICollectionView数据源协议DataSource
    8.3.3 最简单的集合视图实现
    8.3.4 UICollectionView代理协议方法简介
    8.3.5 UICollectionView代理方法实例
    8.3.6 UICollectionViewFlowLayout简介
    8.3.7 UICollectionViewFlowLayout使用实例
    8.3.8 UICollectionViewDelegateFlowLayout类的代理方法实现
    8.3.9 自定义Cell
    8.4 手势UIGestureRecognizer
    8.4.1 UIGestureRecognizer简介
    8.4.2 点击手势UITapGestureRecognizer
    8.4.3 捏合与旋转手势UIPinchGestureRecognizer
    8.4.4 滑动手势UISwipeGestureRecognizer
    8.4.5 拖动手势UIPanGestureRecognizer
    8.4.6 长按手势UILongPressGestureRecognizer

    9 控制器

    9.1 控制器UIViewController
    9.1.1 控制器简介以及创建控制器
    9.1.2 使用XIB以及Storyboard创建控制器
    9.1.3 控制器的生命周期
    9.1.4 使用Storyboard切换控制器
    9.1.5 使用代码切换控制器
    9.1.6 控制器嵌套
    9.2 导航控制器UINavigationController
    9.2.1 导航控制器简介
    9.2.2 控制器跳转
    9.2.3 子控制器的管理
    9.2.4 UINavigationBar
    9.2.5 barStyle属性
    9.2.6 barTintColor与tintColor
    9.2.7 导航栏设置背景图片
    9.2.8 UINavigationItem
    9.2.9 UINavigationItem定制示例
    9.2.10 UINavigationItem显示原始图片样式
    9.2.11 UINavigationController的代理方法
    9.2.12 顺传数据
    9.2.13 使用代理逆传数据
    9.2.14 使用通知逆传数据
    9.2.15 使Block逆传数据
    9.2.16 工具栏toolBar
    9.3 UITabBarController
    9.3.1 UITabBarController的常用属性和方法
    9.3.2 UITabBar的常用属性和方法
    9.3.3 UITabBarItem的常用属性和方法
    9.3.4 微信TabBar实现
    9.3.5 UITabBarController的代理协议
    9.4 UIWindow、UIView与UIViewController关系
    9.4.1 概念简介
    9.4.2 关系描述

    10 其他UI控件

    10.1 WKWebView
    10.1.1 WKWebView简介
    10.1.2 WKWebView的基本使用——加载网页
    10.1.3 网页浏览控制
    10.1.4 加载本地文件
    10.1.5 WKWebView代理协议之WKNavigationDelegate
    10.2 UITextView
    10.2.1 UITextView的基本使用
    10.2.2 UITextView的代理方法
    10.3 UIPageControl
    10.3.1 UIPageControl介绍
    10.3.2 UIPageControl实际应用
    10.4 UIPickerView
    10.4.1 UIPickerView简介
    10.4.2 UIPickerView的基本使用
    10.4.3 相互依赖的多列选择器
    10.5 UISilder
    10.5.1 UISlider基本介绍
    10.5.2 UISlider实例
    10.6 UIDatePicker
    10.6.1 UIDatePicker基本介绍
    10.6.2 UIDatePicker基本使用
    10.7 UISegmentedControl
    10.7.1 UISegmentedControl简介
    10.7.2 UISegmentedControl实例

    第3部分 iOS开发进阶

    11 多线程

    11.1 线程基础知识
    11.2 GCD
    11.2.1 GCD基本概念介绍
    11.2.2 队列与任务组合
    11.2.3 线程间通信
    11.2.4 队列组dispatch group
    11.2.5 延迟执行操作
    11.3 NSOperation
    11.3.1 NSOperation基本使用
    11.3.2 线程间通信
    11.3.3 任务间的执行依赖

    12 网 络

    12.1 网络开发基本概念介绍
    12.2 常用网络协议之HTTP
    12.3 网络请求之GET、POST请求
    12.4 AFNetworking框架介绍
    12.5 聚合数据API简介
    12.6 GET请求与POST请求使用示例
    12.7 JSON和XML简单介绍

    13 数据持久化

    13.1 沙盒
    13.1.1 沙盒基础
    13.1.2 在Mac上查看沙盒目录
    13.2 Plist文件
    13.2.1 Plist简介
    13.2.2 Plist文件的读取
    13.2.3 Plist文件的写入
    13.2.4 操作实例
    13.3 偏好设置NSUserDefaults
    13.3.1 NSUserDefaults简介
    13.3.2 读写示例
    13.4 归档
    13.4.1 基本使用
    13.4.2 单个对象归档/解档
    13.4.3 自定义对象归档/解档
    13.4.4 归档多个自定义对象
    13.4.5 子类对象的归档
    13.4.6 归档多个不同类型的对象
    13.5 SQLite
    13.5.1 数据库的操作
    13.5.2 表的操作
    13.5.3 数据记录的操作
    13.6 FMDB
    13.6.1 基本介绍
    13.6.2 更新操作与查询操作
    13.6.3 线程安全
    13.7 Core Data
    13.7.1 概念简介
    13.7.2 使用示例
    13.8 Realm
    13.8.1 Realm基本介绍
    13.8.2 Realm的安装
    13.8.3 常用属性与方法
    13.8.4 Realm使用示例

    14 绘图和动画

    14.1 核心绘画
    14.1.1 核心绘画的基本概念
    14.1.2 贝塞尔路径
    14.1.3 绘图方法和步骤
    14.1.4 常见图形的绘制方法
    14.2 UIImage绘图应用
    14.2.1 绘制图片
    14.2.2 添加水印
    14.2.3 裁剪圆形图片
    14.2.4 截屏
    14.3 CALayer
    14.3.1 CALayer简介
    14.3.2 iOS开发中的坐标系
    14.3.3 动画属性
    14.4 核心动画
    14.4.1 核心动画简介
    14.4.2 动画的实现步骤
    14.4.3 CAPropertyAnimiation属性动画
    14.4.4 CABasicAnimiation基本动画
    14.4.5 CAKeyframeAnimation关键帧动画
    14.4.6 CASpringAnimation弹簧动画
    14.4.7 CAAnimationGroup动画组
    14.4.8 CATransition转场动画

    15 设计模式

    15.1 iOS下的MVC设计模式
    15.2 单例模式
    15.3 iOS下的MVVM设计模式

    16 自动布局

    16.1 自动布局简介
    16.2 Masonry

    17 设备调用

    17.1 UIDevice类
    17.1.1 获取设备基本信息
    17.1.2 获取电池信息
    17.1.3 接近传感器
    17.1.4 方向传感器
    17.2 位置应用
    17.2.1 CoreLocation框架简介
    17.2.2 CoreLocation框架的基本使用
    17.2.3 地理信息编码简介
    17.2.4 CLGeocoder应用案例1
    17.2.5 CLGeocoder应用案例2
    17.3 地图应用
    17.3.1 MKMapView简介
    17.3.2 MKMapView的基本使用
    17.3.3 简易地图标注
    17.3.4 简易地图标注示例
    17.3.5 复杂地图标注
    17.3.6 复杂地图标注示例
    17.4 相机与相册
    17.4.1 UIImagePickerController简介
    17.4.2 UIImagePickerController的使用
    17.5 CoreMotion框架
    17.5.1 CoreMotion基本介绍
    17.5.2 获取运动传感器的裸数据
    17.5.3 CMDeviceMotion
    17.6 系统应用调用
    17.6.1 拨打电话功能
    17.6.2 发送短信功能
    17.6.3 发送邮件功能

    18 证书管理与应用发布

    18.1 证书管理
    18.1.1 iOS开发证书(调试证书)管理
    18.1.2 iOS发布证书创建详解
    18.2 推送证书管理
    18.2.1 推送调试证书
    18.2.2 推送生产证书
    18.3 App Store应用发布
    18.3.1 App Store应用发布详解
    18.3.2 App被拒绝上架的原因解析

    19 消息推送

    19.1 远程消息推送
    19.1.1 极光(JPush)消息推送集成
    19.1.2 获取推送消息内容
    19.1.3 打开指定界面(自定义消息内容)
    19.1.4 管理App的Badge(本地方式)
    19.1.5 管理App的Badge(远程服务器方式)
    19.1.6 更改推送消息提示音
    19.2 本地消息推送(基于iOS 10 UserNotifications框架)
    19.2.1 UNNotificationRequest类
    19.2.2 UNNotificationContent类
    19.2.3 UNNotificationTrigger类
    19.2.4 UNUserNotificationCenterDelegate代理协议
    19.2.5 示例代码

    20 其他高级知识点

    20.1 App的生命周期
    20.2 使用AVFoundation框架实现扫描二维码

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

    21 常用第三方框架介绍

    21.1 CocoaPods
    21.1.1 CocoaPods的安装
    21.1.2 使用CocoaPods安装SDK
    21.2 高德地图
    21.2.1 高德地图简介
    21.2.2 高德地图SDK的安装
    21.2.3 地图SDK简介
    21.2.4 绘制地图标注
    21.2.5 定位SDK
    21.3 SDWebImage
    21.4 免费短信验证码
    21.5 MBProgressHUD
    21.5.1 MBProgressHUD简介
    21.5.2 MBProgressHUD基本使用
    21.6 YYModel
    21.6.1 YYModel简介
    21.6.2 YYModel使用案例

    22 常用开发工具介绍

    22.1 Reveal——AppUI界面分析
    22.1.1 Reveal使用简介
    22.1.2 分析任意iOS应用的UI界面
    22.2 Charles——网络抓包工具
    22.2.1 抓取HTTP请求(基础)
    22.2.2 抓取HTTPS请求(高级)
    22.3 GitHub
    22.3.1 GitHub简介
    22.3.2 GitHub Desktop桌面工具的安装
    22.3.3 创建仓库
    22.3.4 版本控制
    22.3.5 分支branch操作
    22.3.6 冲突处理
    22.3.7 团队合作

    第5部分 Swift语言基础

    23 Swift语言基础

    23.1 Swift简介
    23.2 常量和变量
    23.3 基本运算符
    23.4 字符串和字符
    23.5 集合类型
    23.6 流程控制
    23.6.1 循环语句
    23.6.2 条件语句
    23.6.3 控制转移语句
    23.7 函数基础
    23.8 函数类型
    23.9 闭包
    23.10 枚举
    23.11 类和结构体
    23.12 属性
    23.13 方法
    23.14 下标
    23.15 继承
    23.16 初始化
    23.17 析构
    23.18 扩展
    23.19 协议
    23.20 泛型
    23.21 可选链

    第6部分 React Native基础

    24 React Native基础

    24.1 搭建React Native开发环境
    24.2 编写Hello World
    24.3 属性Props
    24.4 状态State
    24.5 样式style
    24.6 界面布局
    24.7 网络
    24.8 Text组件
    24.9 Image组件
    24.10 Button组件
    24.11 TouchableHighlight组件
    24.12 TextInput组件
    24.13 KeyboardAvoidingView组件
    24.14 ScrollView组件
    24.15 ListView组件
    24.16 Navigator组件
    24.17 TabBarIOS组件

    思维导图

    iOS开发:从零基础到精通

    防止博客图床图片失效,防止图片源站外链:

    http://www.processon.com/chart_image/5e5b2a3ce4b0cc44b5b4968c.png)

    思维导图在线编辑链接:

    https://www.processon.com/view/5e5b2a3ce4b0cc44b5b49689

  • 相关阅读:
    mac下安装golang
    go run/ go install/ go build / go get的区别
    git报错The authenticity of host 'github.com (13.229.188.59)' can't be established. RSA key fingerprint is。。。
    2. Java内存区域
    4. 垃圾回收- 4.1判断对象是否存活算法
    1. 各种虚拟机的发展历史
    springBoot多数据源(不同类型数据库)项目
    Linux shell脚本启动 停止 重启jar包
    IDEA云盘下载
    GitHub配置
  • 原文地址:https://www.cnblogs.com/jingle1267/p/12778742.html
Copyright © 2011-2022 走看看