我正在阅读文档但无法获得某些工作。我想在类或结构中获取方法或变量名称。在Swift 3中,您显然可以使用#KeyPath。在Swift 4中它更容易。我无法上班。
我希望字符串变量名称包含“Bar”。
这是我的Playground代码。
//: 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")
提前感谢您阅读我的问题。
答案 0 :(得分:2)
我想你想在运行时获得一个成员的名字?
显然,当您打印键路径时,它不会打印该成员的名称。作为替代方案,您可以使用选择器:
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