我正在尝试使用通过强制转换返回子类的特定方法来实例化对象。我只能按名称(字符串)传递类类型。但编译器抱怨它不是一种类型。
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),转换也不起作用吗?