【发布时间】:2021-05-12 09:09:25
【问题描述】:
由于某种原因,我在谓词处分配值时收到“SGNL SGBRT”错误。这是什么原因,我该如何克服这个问题?
struct SearchView: View {
@Environment(\.managedObjectContext) private var viewContext
@FetchRequest var reminder: FetchedResults<CDReminder>
@Binding var searchText: String
init(searchText: Binding<String>) {
self._searchText = searchText
var predicate : NSPredicate?
predicate = NSPredicate(format: "name CONTAINS %@", searchText as! CVarArg) // SGNL SGBRT ERROR
self._reminder = FetchRequest(
entity: CDReminder.entity(),
sortDescriptors: [],
predicate: predicate
)
}
var body: some View {
VStack{
SearchBar(text: $searchText)
.environment(\.managedObjectContext, viewContext)
List{
ForEach(reminder, id: \.self){ reminder in
DatedReminderCell(reminder: reminder, isSelected: false, onComplete: {})
}
}
}
}
}
【问题讨论】:
-
在 searchText 中使用 searchText.wrappedValue。也不需要投射。