如何通过字符串获取类类型然后在演员表中使用它?

时间:2016-03-31 15:28:47

标签: swift2 xcode7

我正在尝试使用通过强制转换返回子类的特定方法来实例化对象。我只能按名称(字符串)传递类类型。但编译器抱怨它不是一种类型。

guard let entityClass = NSClassFromString(entity.rawValue) else {
    preconditionedFailure("Cannot find entity with name \(entity.rawValue)")
}
let obj = NSEntityDescription.insertNewObjectForEntityForName(entity.rawValue, inManagedObjectContext: moc) as? entityClass

编译器抱怨entityClass不是一个类型。我知道它是可选的,但即使我打开它!即使NSClassFromString返回Optional(AnyClass),编译器仍然不会将其视为类型。

编辑:我无法在其他线程中找到解决方案。编译器在转换时显示错误:

let obj = NSEntityDescription.insertNewObjectForEntityForName(entity.rawValue, inManagedObjectContext: moc) as? entityClass

“entityClass不是一种类型。”

那么有人可以解释为什么即使entityClass实际上是一个Optional(AnyClass),转换也不起作用吗?

0 个答案:

没有答案