【发布时间】:2020-12-09 12:56:50
【问题描述】:
我正在尝试获取列表中 Coredata 的索引号。
这是我当前的代码
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")
}
}
}
}
}
}
这是我尝试过的:
我尝试使用here 的解决方案,但一直收到此错误
Cannot convert value of type 'FetchedResults<ToDoItem>' to expected argument type 'Range<Int>'
所以我尝试使用循环语句检查所有 CoreData 元素,直到匹配相同的名称,但问题是用户可以拥有多个同名的 CoreData 项目。
无论如何都可以在 List 中获取 CoreData 的索引号吗?
【问题讨论】:
标签: swiftui