プログラミング初学者です。初めての質問です。
SwiftUIでListを用いてForEachで配列?(CoreDataに保存したレコードたち)の要素をリスト表示するコードを書いています。リストのセルにswipeActionsを設定しようとしているのですが実装できません。そもそもコード上でswipeActionsと入力しても補完のコードが提案?されません。
発生している問題・エラーメッセージ
swipeActionsが設定できません。
Value of type 'TaskCellView' has no member 'swipeActions'
該当のソースコード
// ContentView struct ContentView: View { // CoreData @Environment(.managedObjectContext) private var context @FetchRequest( entity: Task.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \Task.timestamp, ascending: true)], predicate: nil ) private var tasks: FetchedResults<Task> var body: some View { NavigationView { let tasks = tasks.reversed() /// 取得したデータをリスト表示 VStack { List { ForEach(tasks) { task in /// タスクの表示 /// 以下の部分でエラーが出ます TaskCellView(task: task) .swipeActions(edge: .leading) { Button { print("flag action.") } label: { Image(systemName: "flag.fill") }.tint(.orange) } } } .onDelete(perform: deleteTasks) } .navigationTitle("勉強Todo") } } } }
// TaskCellView struct TaskCellView: View { var task: Task var body: some View { HStack { Image(systemName: task.checked ? "checkmark.circle.fill" : "circle") Text("(task.name!)") Spacer() if (task.subject == "プログラミング") { Text("プロ") .foregroundColor(Color(.white)) .padding(.leading, 8) .padding(.trailing, 8) .background(Color(colorChange(subject: task.subject!))) .cornerRadius(5) } else { Text("(task.subject!)") .foregroundColor(Color(.white)) .padding(.leading, 8) .padding(.trailing, 8) .background(Color(colorChange(subject: task.subject!))) .cornerRadius(5) } } } }
試したこと
ネット上のコードを真似ても補完が提案されず、手動で入力してもswipeActionsの部分でエラーが表示されビルドできません。
補足情報(FW/ツールのバージョンなど)
CoreDataを使用しています。コードが煩雑にならないよう、関係がありそうなコード部分だけペーストしました。質問の仕方が下手ですみません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。