【发布时间】:2014-06-08 10:17:33
【问题描述】:
我正在尝试将一些 RubyMotion 代码移至 Swift。到目前为止它有效。我不明白的是 为什么不能将以下结果转换为 Document 类:
var newObject : NSManagedObject
NSEntityDescription.insertNewObjectForEntityForName("Document", inManagedObjectContext:context)
as NSManagedObject
insertNewObjectForEntityForName 调用返回一个 NSManagedObject 类型的对象。 但是为什么 insertNewObjectForEntityForName 不返回由 entity.managedObjectClassName 指定的 Document 类型的对象呢?
我的实体如下所示:
func DocumentEntity () -> NSEntityDescription {
var entity = NSEntityDescription()
entity.name = "Document"
entity.managedObjectClassName = "Document"
var property = NSAttributeDescription()
property.name = "title"
property.attributeType = NSAttributeType.StringAttributeType
property.optional = false
entity.properties = [property]
return entity
}
class Document : NSManagedObject {
@NSManaged var title : String
}
model = NSManagedObjectModel()
model.entities = [DocumentEntity()]
var store = NSPersistentStoreCoordinator(managedObjectModel: model)
【问题讨论】: