Я пытаюсь переместить код RubyMotion в Swift. Пока это работает. То, что я не понимаю, почему следующий результат не может быть применен к классу Document:
var newObject : NSManagedObject
NSEntityDescription.insertNewObjectForEntityForName("Document", inManagedObjectContext:context)
as NSManagedObject
В вызове insertNewObjectForEntityForName возвращается объект типа NSManagedObject. Но почему не вставляетNewObjectForEntityForName возвращает объект типа Document, как указано entity.managedObjectClassName?
Моя сущность выглядит следующим образом:
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)