Skip to content

Commit 6cdb0dd

Browse files
committed
Eliminated RealmBindingObserver in favour of RxCocoa Binder.
1 parent 022964a commit 6cdb0dd

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

Pod/Classes/Reactive+RxRealmDataSources.swift

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,31 +63,32 @@ import Cocoa
6363
extension Reactive where Base: NSTableView {
6464

6565
public func realmChanges<E>(_ dataSource: RxTableViewRealmDataSource<E>)
66-
-> RealmBindObserver<E, AnyRealmCollection<E>, RxTableViewRealmDataSource<E>> {
66+
-> Binder<RealmChange<E>> {
6767

6868
base.delegate = dataSource
6969
base.dataSource = dataSource
7070

71-
return RealmBindObserver(dataSource: dataSource) {ds, results, changes in
71+
return Binder(base) { tableView, element in
7272
if dataSource.tableView == nil {
73-
dataSource.tableView = self.base
73+
dataSource.tableView = tableView
7474
}
75-
ds.applyChanges(items: AnyRealmCollection<E>(results), changes: changes)
75+
dataSource.applyChanges(items: element.0, changes: element.1)
7676
}
7777
}
7878
}
7979

8080
extension Reactive where Base: NSCollectionView {
8181

8282
public func realmChanges<E>(_ dataSource: RxCollectionViewRealmDataSource<E>)
83-
-> RealmBindObserver<E, AnyRealmCollection<E>, RxCollectionViewRealmDataSource<E>> {
83+
-> Binder<RealmChange<E>> {
8484

85-
return RealmBindObserver(dataSource: dataSource) {ds, results, changes in
86-
if ds.collectionView == nil {
87-
ds.collectionView = self.base
85+
base.dataSource = dataSource
86+
87+
return Binder(base) { collectionView, element in
88+
if dataSource.collectionView == nil {
89+
dataSource.collectionView = collectionView
8890
}
89-
ds.collectionView?.dataSource = ds
90-
ds.applyChanges(items: AnyRealmCollection<E>(results), changes: changes)
91+
dataSource.applyChanges(items: element.0, changes: element.1)
9192
}
9293
}
9394
}

Pod/Classes/RealmBindObserver.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import RxSwift
1212
import RxCocoa
1313
import RxRealm
1414

15+
@available(*, deprecated, message: "use RxCocoa Binder instead")
1516
public class RealmBindObserver<O: Object, C: RealmCollection, DS>: ObserverType {
1617
typealias BindingType = (DS, C, RealmChangeset?) -> Void
1718
public typealias E = (C, RealmChangeset?)

0 commit comments

Comments
 (0)