Split Error Handling and Debugging Operators into separate pages

This commit is contained in:
Scott Gardner 2016-05-14 16:50:47 -05:00
parent 990c967052
commit 84c42e6dd6
4 changed files with 87 additions and 73 deletions

View File

@ -0,0 +1,83 @@
/*:
> # IMPORTANT: To use **Rx.playground**:
1. Open **Rx.xcworkspace**.
1. Build the **RxSwift-OSX** scheme (**Product** **Build**).
1. Open **Rx** playground in the **Project navigator**.
1. Show the Debug Area (**View** **Debug Area** **Show Debug Area**).
----
[Previous](@previous) - [Table of Contents](Table_of_Contents)
*/
import RxSwift
/*:
# Debugging Operators
Operators to help debug Rx code.
## `debug`
Prints out all subscriptions, events, and disposals.
*/
example("debug") {
let disposeBag = DisposeBag()
var count = 1
let sequenceThatErrors = Observable<String>.create { observer in
observer.onNext("🍎")
observer.onNext("🍐")
observer.onNext("🍊")
if count < 5 {
observer.onError(Error.Test)
print("Error encountered")
count += 1
}
observer.onNext("🐶")
observer.onNext("🐱")
observer.onNext("🐭")
observer.onCompleted()
return NopDisposable.instance
}
sequenceThatErrors
.retry(3)
.debug()
.subscribeNext { print($0) }
.addDisposableTo(disposeBag)
}
/*:
----
## `RxSwift.resourceCount`
Provides a count of all Rx resource allocations, which is useful for detecting leaks during development.
*/
#if NOT_IN_PLAYGROUND
#else
example("RxSwift.resourceCount") {
print(RxSwift.resourceCount)
let disposeBag = DisposeBag()
print(RxSwift.resourceCount)
let variable = Variable("🍎")
let subscription1 = variable.asObservable().subscribeNext { print($0) }
print(RxSwift.resourceCount)
let subscription2 = variable.asObservable().subscribeNext { print($0) }
print(RxSwift.resourceCount)
subscription1.dispose()
print(RxSwift.resourceCount)
subscription2.dispose()
print(RxSwift.resourceCount)
}
print(RxSwift.resourceCount)
#endif
//: > `RxSwift.resourceCount` is not enabled by default, and should generally not be enabled in Release builds. [Click here](Enable_RxSwift.resourceCount) for instructions on how to enable it.
//: [Table of Contents](Table_of_Contents)

View File

@ -127,76 +127,5 @@ example("retry maxAttemptCount") {
.subscribeNext { print($0) }
.addDisposableTo(disposeBag)
}
/*:
# Debugging Operators
Operators to help debug Rx code.
## `debug`
Prints out all subscriptions, events, and disposals.
*/
example("debug") {
let disposeBag = DisposeBag()
var count = 1
let sequenceThatErrors = Observable<String>.create { observer in
observer.onNext("🍎")
observer.onNext("🍐")
observer.onNext("🍊")
if count < 5 {
observer.onError(Error.Test)
print("Error encountered")
count += 1
}
observer.onNext("🐶")
observer.onNext("🐱")
observer.onNext("🐭")
observer.onCompleted()
return NopDisposable.instance
}
sequenceThatErrors
.retry(3)
.debug()
.subscribeNext { print($0) }
.addDisposableTo(disposeBag)
}
/*:
----
## `RxSwift.resourceCount`
Provides a count of all Rx resource allocations, which is useful for detecting leaks during development.
*/
#if NOT_IN_PLAYGROUND
#else
example("RxSwift.resourceCount") {
print(RxSwift.resourceCount)
let disposeBag = DisposeBag()
print(RxSwift.resourceCount)
let variable = Variable("🍎")
let subscription1 = variable.asObservable().subscribeNext { print($0) }
print(RxSwift.resourceCount)
let subscription2 = variable.asObservable().subscribeNext { print($0) }
print(RxSwift.resourceCount)
subscription1.dispose()
print(RxSwift.resourceCount)
subscription2.dispose()
print(RxSwift.resourceCount)
}
print(RxSwift.resourceCount)
#endif
//: > `RxSwift.resourceCount` is not enabled by default, and should generally not be enabled in Release builds. [Click here](Enable_RxSwift.resourceCount) for instructions on how to enable it.
//: [Table of Contents](Table_of_Contents)

View File

@ -14,7 +14,8 @@
1. [Filtering and Conditional Operators](Filtering_and_Conditional_Operators)
1. [Mathematical and Aggregate Operators](Mathematical_and_Aggregate_Operators)
1. [Connectable Operators](Connectable_Operators)
1. [Debugging and Error Handling Operators](Debugging_and_Error_Handling_Operators)
1. [Error Handling Operators](Error_Handling_Operators)
1. [Debugging Operators](Debugging_Operators)
*/
//: [Next](@next)

View File

@ -10,7 +10,8 @@
<page name='Filtering_and_Conditional_Operators'/>
<page name='Mathematical_and_Aggregate_Operators'/>
<page name='Connectable_Operators'/>
<page name='Error_Handling_and_Debugging_Operators'/>
<page name='Error_Handling_Operators'/>
<page name='Debugging_Operators'/>
<page name='Enable_RxSwift.resourceCount'/>
</pages>
</playground>