【发布时间】:2020-11-21 22:26:29
【问题描述】:
我无法将核心数据对象中的 bookName 绑定到 ForEach 循环内的 TextField。我怎样才能让这个绑定工作?我希望 bookName 值在更改时保存到 Core Data。
我收到一条错误消息:在范围内找不到 $book。
extension Book: Identifiable {
@nonobjc public class func fetchRequest() -> NSFetchRequest<Book> {
return NSFetchRequest<Book>(entityName: "Book")
}
@NSManaged public var id: UUID?
@NSManaged public var bookName: String?
var wrappedBookName: String {
bookName ?? ""
}
}
struct BookListView: View {
@FetchRequest(entity: Book.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \Book.rankNumber, ascending: false)]) var books: FetchedResults<Book>
var body: some View {
ForEach(books) { book in
TextField("Book Name", text: $book.bookName) //Error: cannot find $book in scope
}
}
}
【问题讨论】: