Objective-C的基础语法
- 使用模板创建一个空白的Command Line Tool
- 解析第一个Objective-C程序的结构
- Objective-C语言的简介
- 创建和使用一个最简单的Objective-C的类
- Objective-C语言的基本语法
- Objective-C语言的数据类型
- 基础数据类型之间的转换
- Objective-C语言的变量和常量
- NSLog日志信息的打印
- 操作符:算术运算符的使用
- 操作符:关系运算符的使用
- 操作符:逻辑运算符的使用
- 操作符:位运算符的使用
- 操作符:赋值运算符的使用
- 流程控制:for循环语句的使用
- 流程控制:for-in循环语句的使用
- 流程控制:while循环语句的使用
- 流程控制:嵌套循环语句的使用
- 流程控制:break, continue, return循环控制语句的使用
- 流程控制:使用if和else进行条件判断
- 流程控制:使用switch和case进行条件判断
Objective-C的数据类型
Objective-C的进阶知识
- 编译器在编译之前进行的预处理
- 使用typedef为类型指定新的名称
- 使用结构体组合不同类型的数据
- Objective-C的核心特性:类和对象
- 给Objective-C的类添加实例方法
- 给Objective-C的类添加类方法
- 指针在Objective-C方法中的应用
- 块的定义以及块在函数中的应用
- 以继承现有类的方式创建一个新的类
- 利用多态性实现基类和派生类之间的方法切换
- 利用动态绑定确定在运行时调用的方法
- 利用数据封装特性保护数据免受外部误用
- 使用类别向现有的类添加新的方法
- 使用扩展向具有源代码的类添加新的方法
- 使用协议来声明未来用于特定情况的方法
- 使用NSError类进行错误处理
- 使用@try, @catch和@finally进行异常处理
- 使用MRC手动引用计数进行对象的内存管理
- 使用ARC自动引用计数进行对象的内存管理
Xcode开发软件的使用技巧
- Xcode自带的项目模板介绍
- 您的第一个工程项目
- 使用资源文件夹导入并管理图片素材
- 设置项目的属性
- 检测模拟器在各个方向上的切换
- iOS模拟器的基本使用方法
- 使用不同设备类型的iOS模拟器
- 使用iOS模拟器演示App的生命周期
- Xcode左侧界面介绍一
- Xcode左侧界面介绍二
- Xcode右侧界面介绍
- Xcode代码区的样式设置
- Xcode声音效果的设置
- 快速查找并打开文件
- 快速更改同名变量
- 将代码段提取为方法
- 代码的查找和替换
- 代码编写的自动补全功能
- 代码方法块的折叠与展开
- 代码语法颜色样式的设置
- 几种在控制台输出日志的方式
- 代码的Debug调试
- 为应用程序添加图标
- 读取iOS应用的配置信息
创建视图和视图控制器
- UIView视图的基本使用
- UIView视图的层次关系
- UIView视图的基本操作
- 给图像视图添加边框效果
- 给图像视图添加圆角效果
- 给图像视图添加阴影效果
- UIView视图的渐变填充
- UIView视图的纹理填充
- CGAffineTransform仿射变换的使用
- UITapGestureRecognizer手势之单击
- UITapGestureRecognizer手势之长按
- UITapGestureRecognizer手势之双击
- 视图控制器和滚动视图
- 选项卡(标签)视图控制器的使用
- 导航视图控制器的使用
- 导航控制器的入栈和出栈
- 自定义导航控制器的导航按钮
- 在故事板中设置初始视图控制器
- 在故事板中使用标签和按钮控件
常见UIKit控件的使用
- UIButton控件的使用
- UIButton图片按钮的使用
- UILabel文本标签的使用
- UILabel自定义文字样式
- UISwitch开关控件的使用
- UITextField控件的使用
- 普通警告窗口的使用
- 动作表样式警告窗口的使用
- UIDatePicker日期时间选择器
- 使用WKWebView控件加载网页
- 使用WKWebView控件加载本地HTML
- 为MKMapView指定地理坐标
- 在MKMapView地图上显示提示框
- 使用UITableView制作简单表格
- 设置UITableView单元格的高度
- 设置UITableView单元格图标
- UITableView滑动到指定单元格
- 自定义UITableView单元格Accessory样式
- 删除UITableView单元格
- 插入UITableView单元格
- 调整UITableView单元格的顺序
动画和多媒体编程
- 使用图形上下文按一定比例缩放图片
- 使用图形上下文转换图片为灰度图
- 使用CoreImage框架设置图片的单色效果
- 使用CoreImage框架更改图片的色相
- 使用CoreImage框架给图片添加马赛克效果
- 使用UIBlurEffect给图片添加模糊效果
- 遍历系统提供的所有滤镜
- 使用CATransaction Reveal制作渐变动画
- 使用CATransaction Push制作滑动入场动画
- UIView视图的动画块
- UIView视图卷曲动画的制作
- 检测UIView视图动画的结束事件
- 使用UIImageView制作帧动画
- 使用SystemSoundId播放简短声音
- 使用AudioPlayer播放音乐
- 实现音乐的背景播放功能
- 使用MediaPlayer框架播放影片
- 使用Quarz2d绘制自定义图形
- 创建位移关键帧动画
- 截取某一帧作为影片缩略图
数据解析和网络编程
- 程序沙箱结构中常用的几个目录
- 文件夹的创建
- 创建各种类型的文件
- 对文件夹进行遍历操作
- 复制、移动和删除文件
- 退出系统前的事件处理
- 检测App是否首次运行
- 读取和解析Plist属性列表文件
- NSKeyedArchiver存储和解析数据
- 解析Xml文档
- 解析Json文档
- SQLite数据库和表的创建
- SQLite数据库的删改查操作
- 检测网络的连接状态
- 在App内打开网页电话短信邮件和地图
- 使用MFMailComposeViewController编写邮件
- 使用同步Get的方式查询某地天气
- 使用异步Get的方式查询关于猫的随机信息
- 使用同步Post的方式查询IP地址信息
- 使用异步Post的方式下载并显示猫的随机图片
- 使用URLSession下载图片并显示下载进度
- 使用URLSession上传图片至服务器
- 使用Timer执行定时任务
- PerformSelector消息处理方法
实用的进阶开发技能
- 隐藏顶部的状态栏
- 列出设备上所有的字体
- 给代码方法添加宏注释
- 计算两个日期间的差值
- 正则表达式的使用
- 在Objective-C文件调用Swift的类和方法
- 使用Xcode的版本管理功能(SCM)
- 实现App的Settings设置
- 陀螺仪设备的使用
- 定位设备的使用
- 系统本地通知的创建
- 从系统相册中读取图片
- 调用相机并获取拍摄后的图片
- 使用CoreText框架创建富文本
- 截取当前屏幕上的显示内容
- 给图片添加水印效果
- 使用CGBlendMode改变图片颜色
- 图像中人物的面部检测
- 使用Thread暂停动作的执行
- 多线程的同步与异步
- 使用GCD多线程技术下载图片
- 使用MD5加密数据
- 查看运行中程序的元素层级
- App内容文本的本地化
- 将常见的功能打包成静态库
- 将常见的功能打包成动态库
- 组件化编程:快速实现常见的iOS程序项目结构
- 组件化编程:URL-Router方案的实现
- 组件化编程:Target-Action方案的实现
- 组件化编程:Protocol-Class方案的实现
- App盈利:IAP内购功能的具体实现和测试
提交答案