Cómo usar tipos genéricos para obtener objetos con el mismo tipo

Tengo extensión paraNSManagedObject eso debería ayudarme a transferir objetos entre contextos:

extension NSManagedObject {

    func transferTo(#context: NSManagedObjectContext) -> NSManagedObject? {

        return context.objectWithID(objectID)
    }

}

por ahora devuelve objeto deNSManagedObject y debería lanzarlo a la clase lo que quiero, así:

let someEntity: MyEntity = // ...create someEntity
let entity: MyEntity = someEntity.transferTo(context: newContext) as? MyEntity

¿Hay alguna manera de entrar?Swift para evitar ese casting inútil y si llamotransferTo(context: ...) del objeto de claseMyEntity haz que regrese el tipo aMyEntity?

Respuestas a la pregunta(3)

Su respuesta a la pregunta