基于这个问题:<< Is the a ScriptEngine or eval()-like function in Swift?>>我假设以下内容在Swift中不起作用:
private let BROWN_COLOUR: UIColor = UIColor.brownColor()
...
var colourName: String = "BROWN"
var colour = self[ colourName + "_COLOUR" ] as UIColor!
是否正确?
感谢您的阅读。
答案 0 :(得分:2)
不,你不能开箱即用。但是,您可以使用keyed subscription来解决此问题。甚至更简单:使用字典存储您的值并查询它。
但是如果对象派生自NSObject
并且实例变量标有@objc
,则可以使用valueForKey
查询这些实例变量。