From 353b0b55c38606e46469346c0447cd8caef6b879 Mon Sep 17 00:00:00 2001 From: Yury Korolev Date: Sat, 23 Apr 2016 21:22:10 +0300 Subject: [PATCH] Use partial application with AnonymousDisposable if possible --- .../Observables/Implementations/KVOObservable.swift | 4 +--- RxCocoa/Common/Observables/NSURLSession+Rx.swift | 4 +--- RxCocoa/iOS/UIControl+Rx.swift | 8 ++------ RxSwift/ImmediateSchedulerType.swift | 4 +--- RxSwift/SchedulerType.swift | 4 +--- RxSwift/Schedulers/CurrentThreadScheduler.swift | 4 +--- RxSwift/Schedulers/OperationQueueScheduler.swift | 4 +--- 7 files changed, 8 insertions(+), 24 deletions(-) diff --git a/RxCocoa/Common/Observables/Implementations/KVOObservable.swift b/RxCocoa/Common/Observables/Implementations/KVOObservable.swift index 9c031261..e7131b3e 100644 --- a/RxCocoa/Common/Observables/Implementations/KVOObservable.swift +++ b/RxCocoa/Common/Observables/Implementations/KVOObservable.swift @@ -42,9 +42,7 @@ class KVOObservable observer.on(.Next(value as? Element)) } - return AnonymousDisposable { - observer.dispose() - } + return AnonymousDisposable(observer.dispose) } } diff --git a/RxCocoa/Common/Observables/NSURLSession+Rx.swift b/RxCocoa/Common/Observables/NSURLSession+Rx.swift index 99bceaa3..7b20ac53 100644 --- a/RxCocoa/Common/Observables/NSURLSession+Rx.swift +++ b/RxCocoa/Common/Observables/NSURLSession+Rx.swift @@ -155,9 +155,7 @@ extension NSURLSession { let t = task t.resume() - return AnonymousDisposable { - task.cancel() - } + return AnonymousDisposable(task.cancel) } } diff --git a/RxCocoa/iOS/UIControl+Rx.swift b/RxCocoa/iOS/UIControl+Rx.swift index e7d93794..3dd5fd35 100644 --- a/RxCocoa/iOS/UIControl+Rx.swift +++ b/RxCocoa/iOS/UIControl+Rx.swift @@ -53,9 +53,7 @@ extension UIControl { observer.on(.Next()) } - return AnonymousDisposable { - controlTarget.dispose() - } + return AnonymousDisposable(controlTarget.dispose) }.takeUntil(rx_deallocated) return ControlEvent(events: source) @@ -80,9 +78,7 @@ extension UIControl { } } - return AnonymousDisposable { - controlTarget.dispose() - } + return AnonymousDisposable(controlTarget.dispose) } .takeUntil((control as! NSObject).rx_deallocated) diff --git a/RxSwift/ImmediateSchedulerType.swift b/RxSwift/ImmediateSchedulerType.swift index b5e03090..08df61b3 100644 --- a/RxSwift/ImmediateSchedulerType.swift +++ b/RxSwift/ImmediateSchedulerType.swift @@ -35,8 +35,6 @@ extension ImmediateSchedulerType { recursiveScheduler.schedule(state) - return AnonymousDisposable { - recursiveScheduler.dispose() - } + return AnonymousDisposable(recursiveScheduler.dispose) } } diff --git a/RxSwift/SchedulerType.swift b/RxSwift/SchedulerType.swift index eceea3e0..1c3a20c5 100644 --- a/RxSwift/SchedulerType.swift +++ b/RxSwift/SchedulerType.swift @@ -73,8 +73,6 @@ extension SchedulerType { scheduler.schedule(state, dueTime: dueTime) - return AnonymousDisposable { - scheduler.dispose() - } + return AnonymousDisposable(scheduler.dispose) } } \ No newline at end of file diff --git a/RxSwift/Schedulers/CurrentThreadScheduler.swift b/RxSwift/Schedulers/CurrentThreadScheduler.swift index 16882fe6..9b921226 100644 --- a/RxSwift/Schedulers/CurrentThreadScheduler.swift +++ b/RxSwift/Schedulers/CurrentThreadScheduler.swift @@ -142,8 +142,6 @@ public class CurrentThreadScheduler : ImmediateSchedulerType { // In Xcode 7.3, `return scheduledItem` causes segmentation fault 11 on release build. // To workaround this compiler issue, returns AnonymousDisposable that disposes scheduledItem. - return AnonymousDisposable { - scheduledItem.dispose() - } + return AnonymousDisposable(scheduledItem.dispose) } } diff --git a/RxSwift/Schedulers/OperationQueueScheduler.swift b/RxSwift/Schedulers/OperationQueueScheduler.swift index 622cd0ef..553ceebd 100644 --- a/RxSwift/Schedulers/OperationQueueScheduler.swift +++ b/RxSwift/Schedulers/OperationQueueScheduler.swift @@ -49,9 +49,7 @@ public class OperationQueueScheduler: ImmediateSchedulerType { self.operationQueue.addOperation(operation) - compositeDisposable.addDisposable(AnonymousDisposable { - operation.cancel() - }) + compositeDisposable.addDisposable(AnonymousDisposable(operation.cancel)) return compositeDisposable }