Add Error extension instead of NSError for Workaround; NSError extension returns a type which conforms to Error protocol

This commit is contained in:
Yuki Nagai 2016-08-02 21:48:01 +09:00
parent 7f84ec604e
commit a9d0cfeb5b
2 changed files with 10 additions and 16 deletions

View File

@ -126,10 +126,6 @@ extension NSObject {
- returns: Observable sequence of object deallocating events.
*/
public func rx_sentMessage(_ selector: Selector) -> Observable<[AnyObject]> {
return Observable.create { _ in
return AnonymousDisposable {}
}
/*
return rx_synchronized {
// in case of dealloc selector replay subject behavior needs to be used
if selector == deallocSelector {
@ -164,7 +160,7 @@ extension NSObject {
subject.targetImplementation = targetImplementation
return subject.asObservable()
}*/
}
}
/**
@ -178,10 +174,6 @@ extension NSObject {
- returns: Observable sequence of object deallocating events.
*/
public var rx_deallocating: Observable<()> {
return Observable.create { _ in
return AnonymousDisposable {}
}
/*
return rx_synchronized {
let subject: DeallocatingObservable
@ -210,7 +202,7 @@ extension NSObject {
subject.targetImplementation = targetImplementation!
return subject.asObservable()
}*/
}
}
#endif
}

View File

@ -296,16 +296,18 @@ let delegateNotSet = "Delegate not set"
// MARK: Conversions `NSError` > `RxCocoaObjCRuntimeError`
extension NSError {
extension Error {
func rxCocoaErrorForTarget(_ target: AnyObject) -> RxCocoaObjCRuntimeError {
if domain == RXObjCRuntimeErrorDomain {
let errorCode = RXObjCRuntimeError(rawValue: self.code) ?? .unknown
let error = self as NSError
if error.domain == RXObjCRuntimeErrorDomain {
let errorCode = RXObjCRuntimeError(rawValue: error.code) ?? .unknown
switch errorCode {
case .unknown:
return .unknown(target: target)
case .objectMessagesAlreadyBeingIntercepted:
let isKVO = (self.userInfo[RXObjCRuntimeErrorIsKVOKey] as? NSNumber)?.boolValue ?? false
let isKVO = (error.userInfo[RXObjCRuntimeErrorIsKVOKey] as? NSNumber)?.boolValue ?? false
return .objectMessagesAlreadyBeingIntercepted(target: target, interceptionMechanism: isKVO ? .kvo : .unknown)
case .selectorNotImplemented:
return .selectorNotImplemented(target: target)
@ -323,7 +325,7 @@ extension NSError {
return .observingMessagesWithUnsupportedReturnType(target: target)
}
}
return RxCocoaObjCRuntimeError.unknown(target: target)
}
}