iOS知识体系
2017-01-05 20:32:26 0 举报
AI智能生成
iOS 知识体系,包括编程语言,UIKit 等
作者其他创作
大纲/内容
系统控件
UIKit
自定义控件
多语言
touches
手势
Info.plist
Scheme
动画
CoreAnimation
UIView
网络交互
NSURLConnection
NSHTTPRequest
消息
NSNotificationCenter
NSNotificationQueue
NSInvocation
广告
iAd
重力感应/加速度/指南针
CoreMotion
私有API
MobileInstallation
多线程与锁
NSThread
@synchronized
Grand Central Dispatch (GCD)
NSOperationQueue
CFRunLoop
编程语言
Objective-C
Objective-C运行时特性
动态性
protocol
category
extension
引用计数原则
block
Swift语言基础
基础数据类型
Objective-C类似的基础数据类型
元组
如 (Int, Int, Int), 或者(String, Bool)等
可选类型
运算符
字符和字符串
使用+号或+=来组合新的字符串
数组和字典
数组
isEmpty属性检查数组长度是否为0
append方法或+=操作符 把一个元素添加到数组末尾
使用下标语法通过索引修改已经存在的值(可多个)
调用removeAtIndex方法移除特定的元素
+操作符就能创建一个新的数组
字典
使用下标与给一个字典添加一个元素或改变一个特定所关联的值
下标语法赋值为nil,来移除这键值对
循环和语句
For循环
使用闭区间操作符(...),如从1到5 for index in 1...5 {}
使用下划线(_)代替变量名来忽略对值的访问
While循环
while循环,每次在循环开始时计算条件是否符合;
do-while循环,每次在循环结束时计算条件是否符合
条件语句
if语句
switch语句
不需要在case分支中显式使用break语句
每一个case分支都必须包含至少一条语句
一个case可以包含多个模式,用逗号把他们分开
分支的模式也可以是一个值的区间
case分支的模式可以使用where语句来判断额外的条件
控制转移语句
continue
break
fallthrough
在switch语句如果你确实需要 C 风格的贯穿(fallthrough)的特性,你可以在每个需要该特性的 case 分支中使用fallthrough关键字
return
函数和闭包
函数
多返回值函数,返回类型可以选择一个元组类型
闭包
利用上下文推断参数和返回值类型
单表达式闭包可以省略return关键字
参数名称缩写
Trailing闭包
枚举类型
枚举语法
匹配枚举值与Swith语句
相关值
原始值
属性
存储属性
变量存储属性 关键字var描述
常量存储属性 关键字let描述
计算属性
提供getter 和可选的setter来间接地获取和设置其他的属性和值
属性观察者
观察属性值的改变并对此做出响应
全局和局部变量
类型属性
特定类型实例的属性
类和结构
结构实例传递的是值,类实例传递的是引用
方法(Methods)的使用
结构体和枚举能够定义方法
附属脚本(下标)
下标语法
通过实例名后加中括号内一个或多个数值的形式检索一个元素
下标的使用
下标的具体含义由使用它时的上下文来确定
下标的选项
下标可以接收任意数量的参数,参数的类型也可以各异
继承的用法
@final 防止重写
析构过程
析构过程原理
析构函数操作
自动引用计数
可选链
可选链可替代强制解析
为可选链定义模型类
通过可选链调用属性
通过可选链调用方法
连接多层连接
链接可选返回值的方法
类型转换
检查类型
检查类型操作符 is 来检查
向下转型 Downcasting
尝试向下转到它的子类型,用类型转换操作符as
Any 和 AnyObject的类型转换
嵌套类型
要在一个类型中嵌套另一个类型,将需要嵌套的类型的定义写在被嵌套类型的区域{}内
扩展Extensions
添加计算型属性和计算静态属性
定义实例方法和类型方法
提供新的构造器
定义下标
定义和使用新的嵌套类型
使一个已有类型符合某个协议
协议
泛型
泛型函数
类型参数
命名类型参数
泛型类型
类型约束
关联类型
Where 语句
高级运算符
位运算符
溢出运算符
优先级和结合性 Precedence and Associativity
运算符函数 Operator Functions
自定义运算符
C
extern *c
C++
重载
覆盖
模板类
STL
绘图
CoreGraphics
QuatzCore
CALayer
OpenGL ES
基础类库
CoreFoundation
Foundation
音频视频
MediaPlayer
Core Media
AVFoundation
AudioToolbox
地图
MapKit
GPS
CoreLocation
短信/邮件
MessageUI
Webkit
UIWebView
stringByEvaluatingJavaScriptionFromString
数据操作
CoreData
SQLite
0 条评论
下一页