RxSwift시작하기1-6
작성일
배열 사용하기
개인적으론 이게 제일 중요하다고 생각한다. 우리의 IOS앱들의 거의다 배열을 사용하기 때문이다.
살펴보면
1번쨰
let disposeBag = DisposeBag()
let variable = BehaviorRelay(value: [String]())
variable.accept(["item 1", "item 2"])
variable.asObservable()
.subscribe {
print($0)
}
이렇게 빈 배열을 생성한후, .accept로 배열을 바꿔버린후, 그걸 출력한 한다.
next(["item 1", "item 2"])
가 나오는걸 볼 수 있다.
2번째
배열 추가하기
import UIKit
import RxCocoa
import RxSwift
let disposeBag = DisposeBag()
let variable = BehaviorRelay(value: [String]())
variable.accept(["item 1", "item 2"])
variable.asObservable()
.subscribe {
print($0)
}
variable.accept(variable.value + ["item 3"])
배열을 추가하고싶으면
이렇게 variable.value 값으로 접근하고 값을 추가하면 된다.
출력값은
next(["item 1", "item 2"])
next(["item 1", "item 2", "item 3"])
이렇게 추가하기 전과 추가한 후 2번 출력이 된다.
3번쨰
아마 제일 많이 사용할 거 같긴한데,
import UIKit
import RxCocoa
import RxSwift
let disposeBag = DisposeBag()
let relay = BehaviorRelay(value: ["Item 1"])
var value = relay.value
value.append("Item 2")
value.append("Item 3")
relay.accept(value)
relay.asObservable()
.subscribe {
print($0)
}
이런식으로 .append로 값을 추가한후, .accept으로 그값으로 바꾸고 구독하여 살펴보면
next(["Item 1", "Item 2", "Item 3"])
이런식으로 한번만 출력이 가능하다.