fix bridging producing base abstract class instead of subclass concrete class

This commit is contained in:
John Rommel Estropia
2016-09-11 14:30:25 +09:00
parent df835114cb
commit 243c4044ab
6 changed files with 92 additions and 33 deletions

View File

@@ -174,7 +174,7 @@ public final class CSUnsafeDataTransaction: CSBaseDataTransaction {
// MARK: CoreStoreObjectiveCType
internal typealias SwiftType = UnsafeDataTransaction
public typealias SwiftType = UnsafeDataTransaction
public override var bridgeToSwift: UnsafeDataTransaction {
@@ -183,21 +183,21 @@ public final class CSUnsafeDataTransaction: CSBaseDataTransaction {
public required init(_ swiftValue: UnsafeDataTransaction) {
super.init(swiftValue)
super.init(swiftValue as BaseDataTransaction)
}
public required init(_ swiftValue: BaseDataTransaction) {
fatalError("init(_:) requires an UnsafeDataTransaction instance")
super.init(swiftValue as! UnsafeDataTransaction)
}
}
// MARK: - UnsafeDataTransaction
extension UnsafeDataTransaction {
extension UnsafeDataTransaction: CoreStoreSwiftType {
// MARK: CoreStoreSwiftType
internal typealias ObjectiveCType = CSUnsafeDataTransaction
public typealias ObjectiveCType = CSUnsafeDataTransaction
}