現在SwiftUIを用いてスマホアプリを開発しております。
以下の画像のようなToDoアプリのチェックボックスのようなものをつくりたいです。
チェックボックスをタップすることで、画像も変わり、項目内の達・未達データ(isAchievd:Bool)の値も変わるようにしたいのですが、以下のようにすると
Button(action: { self.model.$todo.isAchieved.toggle() }) { if self.model.$todo.isAchievedn { Image(systemName: "circle.fill") .foregroundColor(Color.yellow) .padding(.leading) } else { Image(systemName: "circle") .foregroundColor(Color.yellow) .padding(.leading) } }
Cannot call value of non-function type 'Binding<() -> ()>'
Dynamic key path member lookup cannot refer to instance method 'toggle()'
のようなエラーが発生します。
そこで、以下のように記述するとスムーズに達・未達のブール値は切り替わりますが、見た目が...
Toggle(isOn: self.model.$todo.isAchieved) { Text("達成or未達成") }
Toggle()とButton(action: {.toggle()})では同じ操作をしているように思えるのですが、扱えるデータの型が異なるのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。