Swift学习07:swift中typealias使用

张建 lol

简介

typealias:类型别名

typealias 为闭包类型定义别名

这里先介绍一下 typealias 的使用 : typealias 是Swift中用来 为已经存在的类型 重新定义名字的关键字(类似于OC语法中的 typedef),重新命名的新名字用来替代之前的类型,并且能够使代码变得更加清晰简单容易理解。typealias 的用法很简单,直接用 = 赋值就可以了:

1
typealias <type name> = <type expression>

这里我们可以用 typealias 来为看似较为复杂的闭包类型定义别名,这样以后我们就可以用别名直接去声明这样类型的闭包了,例子如下:

1
2
3
4
5
6
7
8
9
10
11
// 为没有参数也没有返回值的闭包类型起一个别名
typealias Nothing = () -> ()

// 如果闭包的没有参数和返回值,那么我们还可以这样写
typealias Anything = () -> Void

// 为接受一个 Int类型的参数 不返回任何值的闭包类型 定义一个别名:PrintNumber
typealias PrintNumber = (Int) -> ()

// 为接受两个Int类型的参数并且返回一个Int类型的值的闭包类型 定义一个别名:Add
typealias Add = (Int, Int) -> (Int)

闭包是否接受参数、接受几个参数、返回什么类型的值完全取决于你的需求。

使用

  • 第一种方式
1
2
3
4
5
6
7
8
9
10
// 定义闭包
typealias SuccessCallBack = (_ code:String,_ message:String) -> void

// 声明闭包
var customCallBack : SuccessCallBack?

// 使用
if let call = customCallBack {
call("你是谁","你管我是谁");
}
  • 第二种方式
1
2
3
4
5
6
7
8
// 定义闭包
var callBack:((_ code:String,_ message:String) -> Void)?

// 使用
if let call = callBack {
call("我是谁","我也不知道我是谁");
}

  • Post title:Swift学习07:swift中typealias使用
  • Post author:张建
  • Create time:2023-02-05 15:01:41
  • Post link:https://redefine.ohevan.com/2023/02/05/Swift/Swift学习07:swift中typealias使用/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
On this page
Swift学习07:swift中typealias使用