Swift - 打印变量的名称?

时间:2016-04-12 09:32:40

标签: swift

我定义了一些变量:

let purpleSquareCategory:   UInt32 = 1 << 0
let circleCategory:         UInt32 = 1 << 1
let blueSquareCategory:     UInt32 = 1 << 2
let edgeCategory:           UInt32 = 1 << 31

稍后在我的代码中,我有一个临时变量,其中包含其中一个值,例如

let x = nodeCategory

有没有办法打印一条消息,说明我的预定义类别x是哪个? e.g。

print("x is variable zzz")

其中zzz是purpleSquareCategory,circleCategory等

就个人而言,我无法看到它可以完成,因为必须在运行时解决,然后变量名称不可用。

我可以通过其他方式实现我想要的吗?例如在我的类别中使用枚举或其他类型?

我正在尝试编写一个独立的帮助函数,旨在将其放入使用冲突和/或联系人的任何Swift程序中,所以如果不能写:

if category == purpleSquareCategory {print("Purple Square")}
if category == circleCategory {print("Circle")}

因为在我的函数中,我不知道已经定义了哪些类别。

1 个答案:

答案 0 :(得分:0)

作为解决方案怎么样:)或者我在这里遗漏了什么?

var str = "Hello, playground"
let purpleSquareCategory:   UInt32 = 1 << 0
let circleCategory:         UInt32 = 1 << 1
let blueSquareCategory:     UInt32 = 1 << 2
let edgeCategory:           UInt32 = 1 << 31
print("\(purpleSquareCategory)")
let x = circleCategory
switch (x) {
  case purpleSquareCategory:
  print("purple")
  break
case circleCategory:
  print("circle")
  break
case blueSquareCategory:
  print("blue")
  break
case edgeCategory:
  print("edge")
  break
default:
  break
}