小编Ole*_*kiy的帖子

如何使用泛型类型来获取相同类型的对象

我有扩展NSManagedObject,应该帮助我在上下文之间传输对象:

extension NSManagedObject {

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

        return context.objectWithID(objectID)
    }

}
Run Code Online (Sandbox Code Playgroud)

现在它返回对象,NSManagedObject我应该把它投射到我想要的类,像这样:

let someEntity: MyEntity = // ...create someEntity
let entity: MyEntity = someEntity.transferTo(context: newContext) as? MyEntity
Run Code Online (Sandbox Code Playgroud)

有没有办法Swift避免无用的转换,如果我transferTo(context: ...)从类的对象调用MyEntity使它返回类型MyEntity

generics swift swift-extensions

6
推荐指数
1
解决办法
1262
查看次数

标签 统计

generics ×1

swift ×1

swift-extensions ×1