1.讲解Demo,下载:http://download.csdn.net/detail/sinat_20037505/9773849
2.讲解目录
let array = [
// MARK: - iOS: ARC和非ARC下使用Block属性的问题
"TestVC27",
// MARK: - Block 为什么用copy修饰1
"TestVC26",0)"> // MARK: - Block传参数使用例子2
"TestVC25",
// MARK: - Block传参数使用例子1
"TestVC24",
// MARK: - Block 是用来跨类使用的,在同一个类中定义一个Block使用这个Block完全没有必要。
"TestVC23",0)"> // MARK: - Block 语法
"TestVC22",0)"> // MARK: - Block 中 __block关键字的使用
"TestVC21",0)"> // MARK: - Objective-C中 __unsafe_unretained和 __weak
"TestVC20",0)"> // MARK: - [重要]使用Swift推荐的方式解除循环引用 [unowned self]
"TestVC19",0)"> // MARK: - [重要]使用Swift推荐的方式解除循环引用 [weak self]
"TestVC18",0)"> // MARK: - [重要]使用 Objective-C 的方式解除循环引用
"TestVC17",0)"> // MARK: - 使用 Swift实现循环引用,就是什么情况导致循环引用,不要说没有遇到过
// MARK: 闭包中使用self,就当前对象强引用,控制器(可以接受闭包的任意对象)以属性记录闭包(强引用)
"TestVC16",
// MARK: - Swift中 unowned解决循环强引用
"TestVC15",0)"> // MARK: - Swift中 weak解决循环强引用
"TestVC14",0)"> // MARK: - Swift中 unowned引用
"TestVC13",0)"> // MARK: - Swift中 weak引用
"TestVC12",0)"> // MARK: - Swift weak和 unowned解决闭包引起的循环强引用问题
"TestVC11",0)"> // MARK: - Swift闭包属性引起的循环强引用
"TestVC10",0)"> // MARK: - 闭包传值使用2
"TestVC9",0)"> // MARK: - 闭包传值使用1
"TestVC8",0)"> // MARK: - Swift闭包表达式作为回调函数
// MARK: 闭包传参数,在Controller之间用闭包传递参数
"TestVC7",0)"> // MARK: - Swift闭包捕获值
"TestVC6",0)"> // MARK: - Swift嵌套函数
"TestVC5",0)"> // MARK: - Swift闭包表达式尾随闭包
"TestVC4",0)"> // MARK: - Swift闭包表达式语法优化
"TestVC3",0)"> // MARK: - Swift闭包表达式作为回调函数
"TestVC2",0)"> // MARK: - Swift闭包表达式的语法
"TestVC1",0)"> // MARK: - Swift中闭包的概念和分类
// MARK: sorted函数
// MARK: 运算符函数
"RootViewController"
]
self.makeController(array: array)