目前,我很长一段时间以来第一次参与iPhone的开发,遇到了一个我似乎无法克服的障碍。这个想法是,当我准备好保存时,这个代码将允许我更新item.count。此时,我必须计算新的值。在这个代码示例中,我只是将它设置为0。
这将为行生成以下错误
item.count = 0
:
引用静态方法“buildExpression”时没有完全匹配
以下是代码:
import SwiftUI
import CoreData
struct CollectedFormView: View {
@Environment(\.managedObjectContext) private var viewContext
@FetchRequest(
sortDescriptors: [NSSortDescriptor(keyPath: \Item.name, ascending: true)],
predicate: NSPredicate(format: "count > %i", Int32(0)),
animation: .default
) private var items: FetchedResults<Item>
var body: some View {
VStack {
Form {
...
}
}
.toolbar {
ToolbarItem {
Button("Save") {
saveItems()
}
}
}.navigationTitle("Collected Items")
}
}
private func saveItems() {
ForEach(items) { item in
if (collected[item.name ?? ""] != nil) {
item.count = 0
}
}
...
}
}
我已经删除了任何我不认为会导致问题的代码。有人能告诉我是什么原因导致了这个错误吗?