Avatar
Avatar
shiz
更新処理を関数に出してもawaitなしで関数呼び出しできますね(チェックしてないのでそうなんですが...) nameLabel にアクセスしているところでこういう感じのエラー(警告)が出て欲しいです (edited)
出てほしいですよね。ただ、エラーにしてしまうと既存コードが軒並み通らなくなるから厳しい?警告が限界でしょうか。
1:36 PM
Concurrency 的に正しいコードは↓のようになるんでしょうか。 state .objectWillChange .sink { [weak self] _ in guard let self = self else { return } Task { await MainActor.run { // state を View に反映する処理 self.nameLabel.text = self.state.user?.name } } } .store(in: &cancellables)
1:39 PM
TaskMainActor.run を統合したい( Task にイニシャライザに Actor の context を明示的に渡したい)なぁ。
1:42 PM
本当にほしいのは、 ObservableObjectactor の場合は、その actor に isolate された状態で購読する手段か。