按名称获取 class

Get class by name

我可以通过名字获得 class 吗?例如:

class Foo {

}

class Bar {

}

let x = "Foo"
classByString(x) // need to return Foo

我想使用元编程来减少代码维护。

您可以使用 NSClassFromString:

if let anyObj : AnyObject.Type = NSClassFromString("MyAppName.MySwiftClassFoo") {
   //call Foo
} else {
   //call Bar
}