因此,我试图在Swift中将“实际变量名称”获取为String,但是还没有找到一种方法…或者也许我正以一个不好的角度看待这个问题和解决方案。
所以这基本上是我想要做的:
var appId: String? = nil //This is true, since appId is actually the name of the var appId if( appId.getVarName = "appId"){ appId = "CommandoFurball" }
不幸的是,我无法在苹果文档中找到任何与之接近的东西,但这是:
varobj.self or reflect(var).summary
但是,这给出了变量本身或变量类型的信息,在这种情况下为字符串,我想要变量的实际名称。
根据更新,它在Swift 3中通过#keyPath
#keyPath
NSPredicate(format: "%K == %@", #keyPath(Person.firstName), "Andrew")