gpt4 book ai didi

swift - 如何对存储在变量中的函数/闭包进行大小写匹配?

转载 作者:行者123 更新时间:2023-11-28 06:02:24 25 4
gpt4 key购买 nike

考虑这段代码:

func testA(){}
func testB(value:Int){}
func testC(value:String){}

var someTest:Any = testA

如何对包含闭包的变量进行大小写匹配以找到正确的闭包以便调用它?

switch someTest{
case let test where test:() -> Void:
test()
case let test where test:(value:Int) -> Void:
test(4)
case let test where test:(value:String) -> Void:
test("A")
}

这样的事情可能吗?

最佳答案

闭包类型遵循与任何其他类型相同的切换模式:

switch someClosure {
case let runnable as () -> Void:
runnable()
case let intConsumer as (Int) -> Void:
intConsumer(4)
case let stringConsumer as (String) -> Void:
stringConsumer("A")
}

关于swift - 如何对存储在变量中的函数/闭包进行大小写匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49222864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com