gpt4 book ai didi

ios - 我可以在 Swift 中打印函数类型吗?

转载 作者:IT王子 更新时间:2023-10-29 05:18:15 24 4
gpt4 key购买 nike

我想打印一个函数的类型。

func thanksTo(name: String) {
print("Thanks, \(name)")
}

printType(thanksTo) // expected to print "Function (String) -> ()"

Swift 中是否有任何函数的行为类似于 printType

最佳答案

Swift 3 及更高版本

从 Swift 3 开始,__FUNCTION__ 已弃用。相反,使用 #function 代替 __FUNCTION__

(谢谢@jovit.royeca。)


Swift 2.2 及更早版本

您有几个选择:

    如果函数没有参数,
  1. print(__FUNCTION__) 将输出 functionName()
  2. 如果函数有一个或多个参数,
  3. print(__FUNCTION__) 将输出 functionName(不带括号)。
  4. print(functionName.dynamicType) 将为这个假设函数输出 (() -> Swift.Int) -> Swift.Int:

    func functionName(closure: () -> Int) -> Int {

    }

因此,要为您的 printType 函数实现所需的功能,您可以结合使用选项 2 和选项 3。

关于ios - 我可以在 Swift 中打印函数类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31365097/

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