是否可以使用Swift评估var / let?

时间:2016-02-29 11:28:52

标签: swift eval evaluate

基于这个问题:<< 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!

是否正确?

感谢您的阅读。

1 个答案:

答案 0 :(得分:2)

不,你不能开箱即用。但是,您可以使用keyed subscription来解决此问题。甚至更简单:使用字典存储您的值并查询它。

但是如果对象派生自NSObject并且实例变量标有@objc,则可以使用valueForKey 查询这些实例变量。