Swift变量名称

时间:2015-09-02 11:31:51

标签: swift variables

是否有可能找到变量名称,我称之为变量名称,而变量有值?

我的意思是:

var varName: Int
...
if ((varName == "varName") && (varName == 6)) {
...
}

这可能吗?

2 个答案:

答案 0 :(得分:4)

Reflection示例

中查看Swift
struct Car  {

let type: CarType
let name: String

init(_ type: CarType, name: String) {
    self.type = type
    self.name = name
}
}

enum CarType {
    case Sport
    case Economics
}

let bmw = Car(CarType.Sport, name: "BMW")

let bmwMirror = Mirror(reflecting: bmw)

let children = bmwMirror.children

print("car properties: \(children.count)") //2

var generator = children.generate()
let type = generator.next()
print(type!.label) // type Optional
print(type!.value) //Sport
let name = generator.next()
print(name!.label) // name Optional
print(name!.value) //BMW

注意:我在Swift 1.2中使用Swift 2.0 Xcode beta 7使用let bmwMirror = reflect(bmw) 并且您可以访问属性bmwMirror.[indexOfProperty].1(.value or label)

答案 1 :(得分:0)

为什么需要检查变量名?也许更好地使用字典?

如果你从字符串创建变量名,然后检查它是否正确名称,也许最好检查原始字符串?