diff --git a/Sources/DynamicObject.swift b/Sources/DynamicObject.swift index c48bdba..b36c020 100644 --- a/Sources/DynamicObject.swift +++ b/Sources/DynamicObject.swift @@ -78,12 +78,7 @@ extension NSManagedObject: DynamicObject { public class func cs_fromRaw(object: NSManagedObject) -> Self { - @inline(__always) - func forceCast(_ value: Any) -> T { - - return value as! T - } - return forceCast(object) + return unsafeDowncast(object, to: self) } public static func cs_matches(object: NSManagedObject) -> Bool { @@ -124,12 +119,7 @@ extension CoreStoreObject { if let coreStoreObject = object.coreStoreObject { - @inline(__always) - func forceCast(_ value: CoreStoreObject) -> T { - - return value as! T - } - return forceCast(coreStoreObject) + return unsafeDowncast(coreStoreObject, to: self) } let coreStoreObject = self.init(rawObject: object) object.coreStoreObject = coreStoreObject