Merge branch 'prototype/Swift_4_0' into prototype/queryBuilders

# Conflicts:
#	Sources/OrderBy.swift
This commit is contained in:
John Rommel Estropia
2017-10-07 01:13:30 +09:00
6 changed files with 23 additions and 3 deletions

2
Sources/.cocoapods.yml Normal file
View File

@@ -0,0 +1,2 @@
try:
project: 'CoreStore.xcworkspace'

View File

@@ -121,7 +121,12 @@ extension CoreStoreObject {
return unsafeDowncast(coreStoreObject, to: self)
}
let coreStoreObject = self.init(rawObject: object)
@inline(__always)
func forceTypeCast<T: CoreStoreObject>(_ type: DynamicObject.Type, to: T.Type) -> T.Type {
return type as! T.Type
}
let coreStoreObject = forceTypeCast(object.entity.dynamicObjectType!, to: self).init(rawObject: object)
object.coreStoreObject = coreStoreObject
return coreStoreObject
}

View File

@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>4.1.1</string>
<string>4.1.3</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>

View File

@@ -31,6 +31,17 @@ import Foundation
internal extension NSEntityDescription {
@nonobjc
internal var dynamicObjectType: DynamicObject.Type? {
guard let userInfo = self.userInfo,
let typeName = userInfo[UserInfoKey.CoreStoreManagedObjectTypeName] as! String? else {
return nil
}
return (NSClassFromString(typeName) as! DynamicObject.Type)
}
@nonobjc
internal var coreStoreEntity: DynamicEntity? {