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

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

 

 

4.多线程的使用

 

 

二、重点代码如下

posted @   TheYouth  阅读(211)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示