您可能知道,Swift中没有NSMethodSignature(更多信息,例如:https://developer.apple.com/swift/blog/?id=19)但是,我想在运行时获取有关闭包中参数的信息。所以如果我定义了这个闭包:
var theClosure: ((someString: String) -> ())?
我想在运行时知道参数名称(“someString”)和类型(String)。这还有可能吗?我可以建议一个包含该信息的静态表,但我发现在运行时获取信息更好。 非常感谢。
答案 0 :(得分:-1)
我不太确定参数名称,但是对于类型信息,有dynamicType
属性。
[...]您可以将dynamicType表达式与要访问的类型的实例一起使用 该实例的运行时类型为值[...]
他们的示例代码基本上是let ourType = someInstance.dynamicType
。如果您希望该类型为字符串,则可以使用printClassName()
类方法。