【SwiftUI】BindableObject を試してみる

BindableObject を試してみた。

www.hackingwithswift.com

シングルトンパターンで合わせたら、どこからでも参照できて、編集もできた。

yuu.1000quu.com

Beta 4

import SwiftUI
import Combine
final class DispMng: BindableObject {
let willChange = PassthroughSubject<DispMng, Never>()
var display:String = "" {
willSet {
willChange.send(self)
}
}
static let shared = DispMng()
}

Beta 3

import SwiftUI
import Combine
final class DispMng: BindableObject {
var didChange = PassthroughSubject<Void, Never>()
var display:String = "" {
didSet {
didChange.send(())
}
}
private init() {}
static let shared = DispMng()
}

入力

DispMng.shared.display = "test"

出力

import SwiftUI
import Combine
struct Disp : View {
@ObjectBinding var dispViewModel = DispMng.shared
var body: some View {
Text(dispViewModel.display)
}
}

追記 2019/08/05

beta5 ではさらに書き方が変わっていた。

www.dev-dev.net

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA