アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【SwiftiPhone/iPadMacOS
【Swift UI】Cannot assign value of type Bindingエラーの対処法
POSTED BY
2023-09-26

以下のように、上位からBinding変数を受け取る子Viewの初期化時に起こるエラー。

struct ContentView: View {
    @Binding var isActive:Bool
    init(isActive:Binding<bool>) {
        self.isActive = isActive
        if self.isActive {
            print("acvite")
        }
    }
    var body: some View {
        Text("Hello World!)
    }
}
struct ContentView_Previews: PreviewProvider {
  static var previews: some View {
    @State var isActive = true
    ContentView(isActive:$isActive)
  }
}
</bool>

Cannot assign value of type 'Binding<bool>' to type 'Bool'
</bool>

Binding変数を受け取る時は、_をつければ良いらしい。以下のようにする。

struct ContentView: View {
    @Binding var isActive:Bool
    init(isActive:Binding<bool>) {
        self._isActive = isActive
        if self.isActive {
            print("acvite")
        }
    }
    var body: some View {
        Text("Hello World!)
    }
}
struct ContentView_Previews: PreviewProvider {
  static var previews: some View {
    @State var isActive = true
    ContentView(isActive:$isActive)
  }
}
</bool>

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】