J'essaie d'obtenir un numéro d'index de Coredata à la liste.
Voici mon code actuel
struct ContentView: View {
@Environment(\.managedObjectContext) var managedObjectContext
@FetchRequest(fetchRequest: ToDoItem.getAllToDoItems()) var toDoItems:FetchedResults<ToDoItem>
@State private var newTask = ""
var body: some View {
VStack{
HStack{
TextField("new Task", text: $newTask)
Button(action:{
//saving event title
let toDoItem = ToDoItem(context: self.managedObjectContext)
toDoItem.title = self.newTask
do {
try self.managedObjectContext.save()
} catch {
print(error)
}
self.newTask = ""
})
{
Text("Add")
}
}
List{
ForEach(self.toDoItems) { toDoItem in
HStack{
Text("\(toDoItem.title!)")
}.onTapGesture {
print("Print current Index")
}
}
}
}
}
}
Voici ce que j'ai essayé :
J'ai essayé d'utiliser des solutions à ici mais je reçois toujours cette erreur
Cannot convert value of type 'FetchedResults<ToDoItem>' to expected argument type 'Range<Int>'
J'ai donc essayé d'utiliser une instruction en boucle pour vérifier tous les éléments de CoreData jusqu'à ce que le même nom soit trouvé, mais le problème est que l'utilisateur peut avoir plusieurs éléments de CoreData avec le même nom.
Y aurait-il un moyen d'obtenir le numéro d'index des CoreData à List ?