Skip to content

Commit 0ef09a5

Browse files
Update examples and playgrounds
1 parent b78179e commit 0ef09a5

File tree

30 files changed

+211
-211
lines changed

30 files changed

+211
-211
lines changed

Rx.playground/Pages/Combining_Operators.xcplaygroundpage/Contents.swift

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ Emits the specified sequence of elements before beginning to emit the elements f
1616
![](https://raw.githubusercontent.com/kzaher/rxswiftcontent/master/MarbleDiagrams/png/startwith.png)
1717
*/
1818
example("startWith") {
19-
let disposeBag = DisposeBag()
19+
var disposeBag = DisposeBag()
2020

2121
Observable.of("🐶", "🐱", "🐭", "🐹")
2222
.startWith("1️⃣")
2323
.startWith("2️⃣")
2424
.startWith("3️⃣", "🅰️", "🅱️")
2525
.subscribe(onNext: { print($0) })
26-
.disposed(by: disposeBag)
26+
.disposed(by: &disposeBag)
2727
}
2828
/*:
2929
> As this example demonstrates, `startWith` can be chained on a last-in-first-out basis, i.e., each successive `startWith`'s elements will be prepended before the prior `startWith`'s elements.
@@ -33,15 +33,15 @@ example("startWith") {
3333
![](https://raw.githubusercontent.com/kzaher/rxswiftcontent/master/MarbleDiagrams/png/merge.png)
3434
*/
3535
example("merge") {
36-
let disposeBag = DisposeBag()
36+
var disposeBag = DisposeBag()
3737

3838
let subject1 = PublishSubject<String>()
3939
let subject2 = PublishSubject<String>()
4040

4141
Observable.of(subject1, subject2)
4242
.merge()
4343
.subscribe(onNext: { print($0) })
44-
.disposed(by: disposeBag)
44+
.disposed(by: &disposeBag)
4545

4646
subject1.onNext("🅰️")
4747

@@ -62,7 +62,7 @@ example("merge") {
6262
![](https://raw.githubusercontent.com/kzaher/rxswiftcontent/master/MarbleDiagrams/png/zip.png)
6363
*/
6464
example("zip") {
65-
let disposeBag = DisposeBag()
65+
var disposeBag = DisposeBag()
6666

6767
let stringSubject = PublishSubject<String>()
6868
let intSubject = PublishSubject<Int>()
@@ -71,7 +71,7 @@ example("zip") {
7171
"\(stringElement) \(intElement)"
7272
}
7373
.subscribe(onNext: { print($0) })
74-
.disposed(by: disposeBag)
74+
.disposed(by: &disposeBag)
7575

7676
stringSubject.onNext("🅰️")
7777
stringSubject.onNext("🅱️")
@@ -90,7 +90,7 @@ example("zip") {
9090
![](https://raw.githubusercontent.com/kzaher/rxswiftcontent/master/MarbleDiagrams/png/combinelatest.png)
9191
*/
9292
example("combineLatest") {
93-
let disposeBag = DisposeBag()
93+
var disposeBag = DisposeBag()
9494

9595
let stringSubject = PublishSubject<String>()
9696
let intSubject = PublishSubject<Int>()
@@ -99,7 +99,7 @@ example("combineLatest") {
9999
"\(stringElement) \(intElement)"
100100
}
101101
.subscribe(onNext: { print($0) })
102-
.disposed(by: disposeBag)
102+
.disposed(by: &disposeBag)
103103

104104
stringSubject.onNext("🅰️")
105105

@@ -112,7 +112,7 @@ example("combineLatest") {
112112
}
113113
//: There is also a variant of `combineLatest` that takes an `Array` (or any other collection of `Observable` sequences):
114114
example("Array.combineLatest") {
115-
let disposeBag = DisposeBag()
115+
var disposeBag = DisposeBag()
116116

117117
let stringObservable = Observable.just("❤️")
118118
let fruitObservable = Observable.from(["🍎", "🍐", "🍊"])
@@ -122,7 +122,7 @@ example("Array.combineLatest") {
122122
"\($0[0]) \($0[1]) \($0[2])"
123123
}
124124
.subscribe(onNext: { print($0) })
125-
.disposed(by: disposeBag)
125+
.disposed(by: &disposeBag)
126126
}
127127
/*:
128128
> Because the `combineLatest` variant that takes a collection passes an array of values to the selector function, it requires that all source `Observable` sequences are of the same type.
@@ -132,7 +132,7 @@ example("Array.combineLatest") {
132132
![](https://raw.githubusercontent.com/kzaher/rxswiftcontent/master/MarbleDiagrams/png/switch.png)
133133
*/
134134
example("switchLatest") {
135-
let disposeBag = DisposeBag()
135+
var disposeBag = DisposeBag()
136136

137137
let subject1 = BehaviorSubject(value: "⚽️")
138138
let subject2 = BehaviorSubject(value: "🍎")
@@ -142,7 +142,7 @@ example("switchLatest") {
142142
subjectsSubject.asObservable()
143143
.switchLatest()
144144
.subscribe(onNext: { print($0) })
145-
.disposed(by: disposeBag)
145+
.disposed(by: &disposeBag)
146146

147147
subject1.onNext("🏈")
148148
subject1.onNext("🏀")
@@ -161,15 +161,15 @@ example("switchLatest") {
161161
Merges two observable sequences into one observable sequence by combining each element from the first source with the latest element from the second source, if any.
162162
*/
163163
example("withLatestFrom") {
164-
let disposeBag = DisposeBag()
164+
var disposeBag = DisposeBag()
165165

166166
let foodSubject = PublishSubject<String>()
167167
let drinksSubject = PublishSubject<String>()
168168

169169
foodSubject.asObservable()
170170
.withLatestFrom(drinksSubject) { "\($0) + \($1)" }
171171
.subscribe(onNext: { print($0) })
172-
.disposed(by: disposeBag)
172+
.disposed(by: &disposeBag)
173173

174174
foodSubject.onNext("🥗")
175175

Rx.playground/Pages/Creating_and_Subscribing_to_Observables.xcplaygroundpage/Contents.swift

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,29 @@ import RxSwift
1515
Creates a sequence that never terminates and never emits any events. [More info](http://reactivex.io/documentation/operators/empty-never-throw.html)
1616
*/
1717
example("never") {
18-
let disposeBag = DisposeBag()
18+
var disposeBag = DisposeBag()
1919
let neverSequence = Observable<String>.never()
2020

2121
let neverSequenceSubscription = neverSequence
2222
.subscribe { _ in
2323
print("This will never be printed")
2424
}
2525

26-
neverSequenceSubscription.disposed(by: disposeBag)
26+
neverSequenceSubscription.disposed(by: &disposeBag)
2727
}
2828
/*:
2929
----
3030
## empty
3131
Creates an empty `Observable` sequence that only emits a Completed event. [More info](http://reactivex.io/documentation/operators/empty-never-throw.html)
3232
*/
3333
example("empty") {
34-
let disposeBag = DisposeBag()
35-
34+
var disposeBag = DisposeBag()
35+
3636
Observable<Int>.empty()
3737
.subscribe { event in
3838
print(event)
3939
}
40-
.disposed(by: disposeBag)
40+
.disposed(by: &disposeBag)
4141
}
4242
/*:
4343
> This example also introduces chaining together creating and subscribing to an `Observable` sequence.
@@ -46,27 +46,27 @@ example("empty") {
4646
Creates an `Observable` sequence with a single element. [More info](http://reactivex.io/documentation/operators/just.html)
4747
*/
4848
example("just") {
49-
let disposeBag = DisposeBag()
50-
49+
var disposeBag = DisposeBag()
50+
5151
Observable.just("🔴")
5252
.subscribe { event in
5353
print(event)
5454
}
55-
.disposed(by: disposeBag)
55+
.disposed(by: &disposeBag)
5656
}
5757
/*:
5858
----
5959
## of
6060
Creates an `Observable` sequence with a fixed number of elements.
6161
*/
6262
example("of") {
63-
let disposeBag = DisposeBag()
64-
63+
var disposeBag = DisposeBag()
64+
6565
Observable.of("🐶", "🐱", "🐭", "🐹")
6666
.subscribe(onNext: { element in
6767
print(element)
6868
})
69-
.disposed(by: disposeBag)
69+
.disposed(by: &disposeBag)
7070
}
7171
/*:
7272
> This example also introduces using the `subscribe(onNext:)` convenience method. Unlike `subscribe(_:)`, which subscribes an _event_ handler for all event types (Next, Error, and Completed), `subscribe(onNext:)` subscribes an _element_ handler that will ignore Error and Completed events and only produce Next event elements. There are also `subscribe(onError:)` and `subscribe(onCompleted:)` convenience methods, should you only want to subscribe to those event types. And there is a `subscribe(onNext:onError:onCompleted:onDisposed:)` method, which allows you to react to one or more event types and when the subscription is terminated for any reason, or disposed, in a single call:
@@ -83,11 +83,11 @@ example("of") {
8383
Creates an `Observable` sequence from a `Sequence`, such as an `Array`, `Dictionary`, or `Set`.
8484
*/
8585
example("from") {
86-
let disposeBag = DisposeBag()
87-
86+
var disposeBag = DisposeBag()
87+
8888
Observable.from(["🐶", "🐱", "🐭", "🐹"])
8989
.subscribe(onNext: { print($0) })
90-
.disposed(by: disposeBag)
90+
.disposed(by: &disposeBag)
9191
}
9292
/*:
9393
> This example also demonstrates using the default argument name `$0` instead of explicitly naming the argument.
@@ -96,8 +96,8 @@ example("from") {
9696
Creates a custom `Observable` sequence. [More info](http://reactivex.io/documentation/operators/create.html)
9797
*/
9898
example("create") {
99-
let disposeBag = DisposeBag()
100-
99+
var disposeBag = DisposeBag()
100+
101101
let myJust = { (element: String) -> Observable<String> in
102102
return Observable.create { observer in
103103
observer.on(.next(element))
@@ -108,32 +108,32 @@ example("create") {
108108

109109
myJust("🔴")
110110
.subscribe { print($0) }
111-
.disposed(by: disposeBag)
111+
.disposed(by: &disposeBag)
112112
}
113113
/*:
114114
----
115115
## range
116116
Creates an `Observable` sequence that emits a range of sequential integers and then terminates. [More info](http://reactivex.io/documentation/operators/range.html)
117117
*/
118118
example("range") {
119-
let disposeBag = DisposeBag()
120-
119+
var disposeBag = DisposeBag()
120+
121121
Observable.range(start: 1, count: 10)
122122
.subscribe { print($0) }
123-
.disposed(by: disposeBag)
123+
.disposed(by: &disposeBag)
124124
}
125125
/*:
126126
----
127127
## repeatElement
128128
Creates an `Observable` sequence that emits the given element indefinitely. [More info](http://reactivex.io/documentation/operators/repeat.html)
129129
*/
130130
example("repeatElement") {
131-
let disposeBag = DisposeBag()
132-
131+
var disposeBag = DisposeBag()
132+
133133
Observable.repeatElement("🔴")
134134
.take(3)
135135
.subscribe(onNext: { print($0) })
136-
.disposed(by: disposeBag)
136+
.disposed(by: &disposeBag)
137137
}
138138
/*:
139139
> This example also introduces using the `take` operator to return a specified number of elements from the start of a sequence.
@@ -142,23 +142,23 @@ example("repeatElement") {
142142
Creates an `Observable` sequence that generates values for as long as the provided condition evaluates to `true`.
143143
*/
144144
example("generate") {
145-
let disposeBag = DisposeBag()
146-
145+
var disposeBag = DisposeBag()
146+
147147
Observable.generate(
148148
initialState: 0,
149149
condition: { $0 < 3 },
150150
iterate: { $0 + 1 }
151151
)
152152
.subscribe(onNext: { print($0) })
153-
.disposed(by: disposeBag)
153+
.disposed(by: &disposeBag)
154154
}
155155
/*:
156156
----
157157
## deferred
158158
Creates a new `Observable` sequence for each subscriber. [More info](http://reactivex.io/documentation/operators/defer.html)
159159
*/
160160
example("deferred") {
161-
let disposeBag = DisposeBag()
161+
var disposeBag = DisposeBag()
162162
var count = 1
163163

164164
let deferredSequence = Observable<String>.deferred {
@@ -176,36 +176,36 @@ example("deferred") {
176176

177177
deferredSequence
178178
.subscribe(onNext: { print($0) })
179-
.disposed(by: disposeBag)
180-
179+
.disposed(by: &disposeBag)
180+
181181
deferredSequence
182182
.subscribe(onNext: { print($0) })
183-
.disposed(by: disposeBag)
183+
.disposed(by: &disposeBag)
184184
}
185185
/*:
186186
----
187187
## error
188188
Creates an `Observable` sequence that emits no items and immediately terminates with an error.
189189
*/
190190
example("error") {
191-
let disposeBag = DisposeBag()
192-
191+
var disposeBag = DisposeBag()
192+
193193
Observable<Int>.error(TestError.test)
194194
.subscribe { print($0) }
195-
.disposed(by: disposeBag)
195+
.disposed(by: &disposeBag)
196196
}
197197
/*:
198198
----
199199
## doOn
200200
Invokes a side-effect action for each emitted event and returns (passes through) the original event. [More info](http://reactivex.io/documentation/operators/do.html)
201201
*/
202202
example("doOn") {
203-
let disposeBag = DisposeBag()
204-
203+
var disposeBag = DisposeBag()
204+
205205
Observable.of("🍎", "🍐", "🍊", "🍋")
206206
.do(onNext: { print("Intercepted:", $0) }, afterNext: { print("Intercepted after:", $0) }, onError: { print("Intercepted error:", $0) }, afterError: { print("Intercepted after error:", $0) }, onCompleted: { print("Completed") }, afterCompleted: { print("After completed") })
207207
.subscribe(onNext: { print($0) })
208-
.disposed(by: disposeBag)
208+
.disposed(by: &disposeBag)
209209
}
210210
//: > There are also `doOnNext(_:)`, `doOnError(_:)`, and `doOnCompleted(_:)` convenience methods to intercept those specific events, and `doOn(onNext:onError:onCompleted:)` to intercept one or more events in a single call.
211211

Rx.playground/Pages/Debugging_Operators.xcplaygroundpage/Contents.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import RxSwift
1515
Prints out all subscriptions, events, and disposals.
1616
*/
1717
example("debug") {
18-
let disposeBag = DisposeBag()
18+
var disposeBag = DisposeBag()
1919
var count = 1
2020

2121
let sequenceThatErrors = Observable<String>.create { observer in
@@ -41,7 +41,7 @@ example("debug") {
4141
.retry(3)
4242
.debug()
4343
.subscribe(onNext: { print($0) })
44-
.disposed(by: disposeBag)
44+
.disposed(by: &disposeBag)
4545
}
4646
/*:
4747
----
@@ -53,7 +53,7 @@ example("debug") {
5353
example("RxSwift.Resources.total") {
5454
print(RxSwift.Resources.total)
5555

56-
let disposeBag = DisposeBag()
56+
var disposeBag = DisposeBag()
5757

5858
print(RxSwift.Resources.total)
5959

0 commit comments

Comments
 (0)