swift 综合练习之通迅录

一、涉及知识点

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的使用

//跳转,storyBoard

//如果是segue,storyBoard时要用那根线identifier的名称
   performSegue(withIdentifier: "storyBoard标识符", sender: indexPath)

 

 

4.多线程的使用

 

 

二、重点代码如下

posted @ 2017-02-18 22:51  TheYouth  阅读(209)  评论(0编辑  收藏  举报