Makes `Producer` internal.

This commit is contained in:
Krunoslav Zaher 2015-10-25 11:43:21 +01:00
parent bd3c5a77b9
commit 26a34c4ac3
3 changed files with 10 additions and 13 deletions

View File

@ -11,8 +11,11 @@ import Foundation
import RxSwift
#endif
class KVOObservable<Element> : _Producer<Element?>
, KVOObservableProtocol {
class KVOObservable<Element>
: ObservableType
, KVOObservableProtocol {
typealias E = Element?
unowned var target: AnyObject
var strongTarget: AnyObject?
@ -30,7 +33,7 @@ class KVOObservable<Element> : _Producer<Element?>
}
}
override func run<O : ObserverType where O.E == Element?>(observer: O, cancel: Disposable, setSink: (Disposable) -> Void) -> Disposable {
func subscribe<O : ObserverType where O.E == Element?>(observer: O) -> Disposable {
let observer = KVOObserver(parent: self) { (value) in
if value as? NSNull != nil {
observer.on(.Next(nil))

View File

@ -59,7 +59,7 @@ extension NSObject {
- returns: Observable sequence of objects on `keyPath`.
*/
public func rx_observe<Element>(keyPath: String, options: NSKeyValueObservingOptions = [.New, .Initial], retainSelf: Bool = true) -> Observable<Element?> {
return KVOObservable(object: self, keyPath: keyPath, options: options, retainTarget: retainSelf)
return KVOObservable(object: self, keyPath: keyPath, options: options, retainTarget: retainSelf).asObservable()
}
}

View File

@ -8,18 +8,12 @@
import Foundation
public class _Producer<Element> : Producer<Element> {
public override init() {
super.init()
}
}
public class Producer<Element> : Observable<Element> {
class Producer<Element> : Observable<Element> {
override init() {
super.init()
}
public override func subscribe<O : ObserverType where O.E == Element>(observer: O) -> Disposable {
override func subscribe<O : ObserverType where O.E == Element>(observer: O) -> Disposable {
let sink = SingleAssignmentDisposable()
let subscription = SingleAssignmentDisposable()
@ -43,7 +37,7 @@ public class Producer<Element> : Observable<Element> {
return d
}
public func run<O : ObserverType where O.E == Element>(observer: O, cancel: Disposable, setSink: (Disposable) -> Void) -> Disposable {
func run<O : ObserverType where O.E == Element>(observer: O, cancel: Disposable, setSink: (Disposable) -> Void) -> Disposable {
abstractMethod()
}
}