Как использовать универсальные типы, чтобы получить объект с таким же типом
У меня есть расширение дляNSManagedObject
это должно помочь мне перенести объекты между контекстами:
extension NSManagedObject {
func transferTo(#context: NSManagedObjectContext) -> NSManagedObject? {
return context.objectWithID(objectID)
}
}
а пока он возвращает объектNSManagedObject
и я должен привести это к классу, что я хочу, как это:
let someEntity: MyEntity = // ...create someEntity
let entity: MyEntity = someEntity.transferTo(context: newContext) as? MyEntity
Есть ли способ вSwift
чтобы избежать этого бесполезного кастинга и если я позвонюtransferTo(context: ...)
от объекта классаMyEntity
заставить его возвращать типMyEntity
?