我正在看文件,但找不到工作。我想获取类或结构中的方法或变量名。在Swift 3中,显然可以使用KeyPath。在斯威夫特4中更容易。我两个都不能去上班。
我希望字符串变量名包含“Bar”。
这是我的操场代码。
//: Playground - noun: a place where people can play
class Foo {
public var Bar:String {
get {
return "xxx"
}
}
}
var name = \Foo.Bar
print ("Member function name \(name) should be Bar")
提前谢谢你阅读我的问题。
最佳答案
我想你想在运行时得到一个成员的名字?
显然,当您打印出密钥路径时,它不会打印成员的名称。作为替代方案,您可以使用选择器代替:
class Foo {
// needs to be exposed to Obj-C
@objc public var Bar:String {
get {
return "xxx"
}
}
}
var name = #selector(getter: Foo.Bar)
print ("Member function name \(name) should be Bar")
印刷品:
成员函数名栏应为Bar
关于swift - #KeyPath在Swift中获取变量或方法名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48732550/