一、涉及知识点
1.属性和方法的定义
(1. 定义数组
1 //person 代表一个类,数组里的对象就是这个类对象,var 代表可变类型 2 var lists:[Person]()
(2.定义类属性
1 //这种形式不用?代表一定有值,不用可选项,会自动创建空间
2 var persons = Person()
(3.闭包作为属性方法来创建
方法名:((参数可为空)->(返回类型可为空))?
1 //没有参数的回调闭包,可以在想执行的地方去执行 2 //1.定义 3 var compation:(()->()) 4 //2.执行 5 compation?()
2.闭包的使用
(1.没有回调的闭包
1 方法名:((参数可为空)->(返回类型可为空))? 2 //没有参数的回调闭包,可以在想执行的地方去执行 3 //1.定义 4 var compation:(()->()) 5 //2.执行 6 compation?()
(2.有参数的回调闭包
1 func loadData:(compation:@escaping(_ lists:[Person]) ->()) -> ()){ 2 3 //异步加载 4 DispatchQueue.global.async{ 5 6 Thread.sleep(forTimeInterval:1) //休息一秒 7 for i in 0..<20 { 8 let person = Person() 9 person.name = "zhangSan"+"\(i)" 10 person.phone = "1860"+"\(arc4random_uniform(100000))" 11 person.title = "boss" 12 lists.append(person) 13 } 14 //回主线程加载数据 15 DispatchQueue.main.async { 16 compation(lists) 17 18 }
19 }
20}
3.storyboard的使用
4.多线程的使用
二、重点代码如下
原文:http://www.cnblogs.com/TheYouth/p/6414414.html