Как использовать универсальные типы, чтобы получить объект с таким же типом

У меня есть расширение для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?

Ответы на вопрос(3)

Ваш ответ на вопрос