swift 3.1 support

This commit is contained in:
John Estropia
2017-02-07 18:17:40 +09:00
parent 69d96c53d6
commit bdf6308d8f
29 changed files with 81 additions and 56 deletions

View File

@@ -168,5 +168,8 @@ extension AsynchronousDataTransaction: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSAsynchronousDataTransaction
public var bridgeToObjectiveC: CSAsynchronousDataTransaction {
return CSAsynchronousDataTransaction(self)
}
}

View File

@@ -294,13 +294,3 @@ public class CSBaseDataTransaction: NSObject, CoreStoreObjectiveCType {
private let swiftTransaction: BaseDataTransaction
}
//// MARK: - BaseDataTransaction
//
//extension BaseDataTransaction: CoreStoreSwiftType {
//
// // MARK: CoreStoreSwiftType
//
// public typealias ObjectiveCType = CSBaseDataTransaction
//}

View File

@@ -277,5 +277,8 @@ extension DataStack: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSDataStack
public var bridgeToObjectiveC: CSDataStack {
return CSDataStack(self)
}
}

View File

@@ -146,7 +146,7 @@ public final class CSFrom: NSObject, CoreStoreObjectiveCType {
public init<T: NSManagedObject>(_ swiftValue: From<T>) {
self.bridgeToSwift = swiftValue.upcast()
self.bridgeToSwift = swiftValue.downcast()
super.init()
}
}

View File

@@ -118,5 +118,8 @@ extension GroupBy: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSGroupBy
public var bridgeToObjectiveC: CSGroupBy {
return CSGroupBy(self)
}
}

View File

@@ -125,5 +125,8 @@ extension InMemoryStore: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSInMemoryStore
public var bridgeToObjectiveC: CSInMemoryStore {
return CSInMemoryStore(self)
}
}

View File

@@ -114,7 +114,7 @@ public final class CSInto: NSObject, CoreStoreObjectiveCType {
public required init<T: NSManagedObject>(_ swiftValue: Into<T>) {
self.bridgeToSwift = swiftValue.upcast()
self.bridgeToSwift = swiftValue.downcast()
super.init()
}
}

View File

@@ -538,7 +538,7 @@ public final class CSListMonitor: NSObject, CoreStoreObjectiveCType {
@nonobjc
public required init<T: NSManagedObject>(_ swiftValue: ListMonitor<T>) {
self.bridgeToSwift = swiftValue.upcast()
self.bridgeToSwift = swiftValue.downcast()
super.init()
}
}

View File

@@ -177,5 +177,8 @@ extension MigrationResult: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSMigrationResult
public var bridgeToObjectiveC: CSMigrationResult {
return CSMigrationResult(self)
}
}

View File

@@ -123,5 +123,8 @@ extension MigrationType: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSMigrationType
public var bridgeToObjectiveC: CSMigrationType {
return CSMigrationType(self)
}
}

View File

@@ -130,7 +130,7 @@ public final class CSObjectMonitor: NSObject, CoreStoreObjectiveCType {
@nonobjc
public required init<T: NSManagedObject>(_ swiftValue: ObjectMonitor<T>) {
self.bridgeToSwift = swiftValue.upcast()
self.bridgeToSwift = swiftValue.downcast()
super.init()
}
}

View File

@@ -126,5 +126,8 @@ extension OrderBy: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSOrderBy
public var bridgeToObjectiveC: CSOrderBy {
return CSOrderBy(self)
}
}

View File

@@ -203,5 +203,8 @@ extension SQLiteStore: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSSQLiteStore
public var bridgeToObjectiveC: CSSQLiteStore {
return CSSQLiteStore(self)
}
}

View File

@@ -177,5 +177,8 @@ extension SaveResult: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSSaveResult
public var bridgeToObjectiveC: CSSaveResult {
return CSSaveResult(self)
}
}

View File

@@ -91,7 +91,10 @@ extension SectionBy: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSSectionBy
public var bridgeToObjectiveC: CSSectionBy {
return CSSectionBy(self)
}
}
#endif

View File

@@ -192,7 +192,10 @@ extension SelectTerm: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSSelectTerm
public var bridgeToObjectiveC: CSSelectTerm {
return CSSelectTerm(self)
}
}

View File

@@ -181,8 +181,6 @@ extension SetupResult where T: CoreStoreSwiftType, T.ObjectiveCType: CSStorageIn
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSSetupResult
public var bridgeToObjectiveC: CSSetupResult {
return CSSetupResult(self)

View File

@@ -167,5 +167,8 @@ extension SynchronousDataTransaction: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSSynchronousDataTransaction
public var bridgeToObjectiveC: CSSynchronousDataTransaction {
return CSSynchronousDataTransaction(self)
}
}

View File

@@ -94,5 +94,8 @@ extension Tweak: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSTweak
public var bridgeToObjectiveC: CSTweak {
return CSTweak(self)
}
}

View File

@@ -197,5 +197,8 @@ extension UnsafeDataTransaction: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSUnsafeDataTransaction
public var bridgeToObjectiveC: CSUnsafeDataTransaction {
return CSUnsafeDataTransaction(self)
}
}

View File

@@ -163,5 +163,8 @@ extension Where: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
public typealias ObjectiveCType = CSWhere
public var bridgeToObjectiveC: CSWhere {
return CSWhere(self)
}
}

View File

@@ -68,28 +68,20 @@ public protocol CoreStoreSwiftType {
var bridgeToObjectiveC: ObjectiveCType { get }
}
public extension CoreStoreSwiftType where ObjectiveCType: CoreStoreObjectiveCType, Self == ObjectiveCType.SwiftType {
public var bridgeToObjectiveC: ObjectiveCType {
return ObjectiveCType(self)
}
}
// MARK: - Internal
internal func bridge<T: CoreStoreSwiftType>(_ closure: () -> T) -> T.ObjectiveCType where T.ObjectiveCType: CoreStoreObjectiveCType, T == T.ObjectiveCType.SwiftType {
internal func bridge<T: CoreStoreSwiftType>(_ closure: () -> T) -> T.ObjectiveCType {
return closure().bridgeToObjectiveC
}
internal func bridge<T: CoreStoreSwiftType>(_ closure: () -> T?) -> T.ObjectiveCType? where T.ObjectiveCType: CoreStoreObjectiveCType, T == T.ObjectiveCType.SwiftType {
internal func bridge<T: CoreStoreSwiftType>(_ closure: () -> T?) -> T.ObjectiveCType? {
return closure()?.bridgeToObjectiveC
}
internal func bridge<T: CoreStoreSwiftType>(_ closure: () throws -> T) throws -> T.ObjectiveCType where T.ObjectiveCType: CoreStoreObjectiveCType, T == T.ObjectiveCType.SwiftType {
internal func bridge<T: CoreStoreSwiftType>(_ closure: () throws -> T) throws -> T.ObjectiveCType {
do {

View File

@@ -88,7 +88,7 @@ fileprivate func createFRC(fromContext context: NSManagedObjectContext, from: CS
let controller = CoreStoreFetchedResultsController(
context: context,
fetchRequest: CoreStoreFetchRequest().dynamicCast(),
from: from?.bridgeToSwift.upcast(),
from: from?.bridgeToSwift.downcast(),
sectionBy: sectionBy?.bridgeToSwift,
applyFetchClauses: { (fetchRequest) in