Skip to content

Commit

Permalink
Split Error Handling and Debugging Operators into separate pages
Browse files Browse the repository at this point in the history
  • Loading branch information
scotteg committed May 14, 2016
1 parent 990c967 commit 84c42e6
Show file tree
Hide file tree
Showing 4 changed files with 87 additions and 73 deletions.
Original file line number Diff line number Diff line change
@@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
3 changes: 2 additions & 1 deletion Rx.playground/contents.xcplayground
Original file line number Diff line number Diff line change
Expand Up @@ -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>

0 comments on commit 84c42e6

Please sign in to comment.