Swift 如何创建引用特定函数的函数类型的typealias

Swift 如何创建引用特定函数的函数类型的typealias,swift,function,types,Swift,Function,Types,斯威夫特说 您使用的函数类型与Swift中的任何其他类型一样。例如,您可以将常量或变量定义为函数类型,并为该变量指定适当的函数: 下面是示例代码: 它定义了一个名为mathFunction的变量,该变量具有一种函数类型,该函数接受两个Int值,并返回一个Int值。设置此新变量以引用名为addTwoInts的函数 问题:函数类型可以像Swift中的任何其他类型一样使用,我想知道,因为我如何创建一个类型别名,该类型的函数接受两个Int值,并返回一个Int值。设置此新变量以引用名为addTwoInts

斯威夫特说

您使用的函数类型与Swift中的任何其他类型一样。例如,您可以将常量或变量定义为函数类型,并为该变量指定适当的函数:

下面是示例代码:

它定义了一个名为
mathFunction
的变量,该变量具有一种函数类型,该函数接受两个
Int
值,并返回一个
Int
值。设置此新变量以引用名为addTwoInts的函数

问题:函数类型可以像Swift中的任何其他类型一样使用,我想知道,因为我如何创建一个类型别名,该类型的函数接受两个
Int
值,并返回一个
Int
值。设置此新变量以引用名为addTwoInts的函数

我试过了,很明显,我错了


您不能将函数分配给
typealias

您只能指定一个类型

typealias mathFunctionType = (Int, Int) -> Int

let mathFunction: mathFunctionType = { int1, int2 in
    return int1 + int2
}

typealias为类型定义新名称,而不是值
typealias MyInt=Int=17也不会编译,因此这与函数无关。改为这样做-
typealias mathFunction=(Int,Int)->Int
检查此项了解详细信息非常感谢您的解释我想我现在能更好地理解它了
typealias InInOutIn=(Int,Int)->Int
var-mathFunctionII:InInOutIn=addTwoInts
@vadian是的,你指出了我误解的一点<代码>类型别名
用于类型功能不是类型。谢谢你的帮助help@vadian这可能是个糟糕的问题:为什么变量可以有函数类型,我只是觉得有点奇怪。
typealias mathFunctionType = (Int, Int) -> Int

let mathFunction: mathFunctionType = { int1, int2 in
    return int1 + int2
}