Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在Swift中从运行时的闭包中获取参数信息_Ios_Swift_Runtime_Closures - Fatal编程技术网

Ios 在Swift中从运行时的闭包中获取参数信息

Ios 在Swift中从运行时的闭包中获取参数信息,ios,swift,runtime,closures,Ios,Swift,Runtime,Closures,您可能知道,Swift更多信息中没有NSMethodSignature,例如:尽管如此,我还是希望在运行时获得有关闭包中参数的信息。因此,如果我定义了这个闭包: var theClosure: ((someString: String) -> ())? 我想在运行时知道参数名someString和类型String。不知何故,这仍然是可能的吗?正如我所建议的那样,我可以创建一个包含这些信息的静态表,但我发现在运行时获取这些信息更好。 非常感谢。我不太确定参数名,但对于类型信息,有dyna

您可能知道,Swift更多信息中没有NSMethodSignature,例如:尽管如此,我还是希望在运行时获得有关闭包中参数的信息。因此,如果我定义了这个闭包:

 var theClosure: ((someString: String) -> ())?
我想在运行时知道参数名someString和类型String。不知何故,这仍然是可能的吗?正如我所建议的那样,我可以创建一个包含这些信息的静态表,但我发现在运行时获取这些信息更好。
非常感谢。

我不太确定参数名,但对于类型信息,有dynamicType属性

从:

[…]您可以将dynamicType表达式与要访问的类型的实例一起使用 该实例的运行时类型作为值[…]


他们的示例代码基本上是让ourType=someInstance.dynamicType。如果希望该类型作为字符串,可以使用printClassName类方法。

我不太确定参数名,但对于类型信息,有dynamicType属性

从:

[…]您可以将dynamicType表达式与要访问的类型的实例一起使用 该实例的运行时类型作为值[…]


他们的示例代码基本上是让ourType=someInstance.dynamicType。如果希望将该类型作为字符串,可以使用printClassName类方法。

您的用例是什么?您可以静态使用泛型而不是动态使用类型信息来实现目标。我想用JavaScript创建带有该签名的函数,因此每次创建可转换为JS的本机对象时,我都必须编写参数代码。您的用例是什么?您可以通过静态使用泛型而不是动态使用类型信息来实现您的目标。我希望在JavaScript中使用该签名创建函数,因此每次创建可转换为JS的本机对象时,我都必须编写参数代码。