NSObject = ObjC中基础类 + Swift中的基础类, AnyObject = NSObject + Swift中无继承的类, Any = AnyObject + Swift函数
//泛型 数组 字典 集合 都是结构体类型,都支持泛型,也就是 any 类型
let arr = Array<Int>()
let strArr = Array<String>()
let dict = Dictionary<Int,String>()
let set = Set<Float>()
struct Stack <T> {
var items = [T]()
func isEmpty() -> Bool {
return items.count == 0
}
mutating func push (item : T){
items.append(item)
}
mutating func pop() -> T?{
guard !self.isEmpty() else {
return nil
}
return items.removeLast()
}
}
扩展 extension 相当于OC的category,可以添加函数,添加属性只能添加计算属性,不能添加存储属性
NSObject OC中的基类
AnyObject 包含了 NSObject 以及Swift中定义的类的对象
Any所有的类型,包括了AnyObject,以及闭包类型
Any > AnyObject > NSObject
is 用于运行时判断具体类型,类似于isKindOfClass
协议聚合
协议中where的使用
协议中的关联类型
为什么要使用协议
隐式可选类型
本章未仔细听。
重听。