не может найти синтаксис NSPredicate, который позволяет мне выбрать все объекты, кроме одного данного
fetchRequest.predicate = NSPredicate(format: "SELF != %@", setting.objectID)
У моего объекта нет сохраненного идентификатора. где-то в комментариях обнаружил, что синтаксисы, но он не работает:
Generic parameter 'Subject' could not be inferred
есть идеи, как отфильтровать все объекты, кроме одного, без фильтрации нескольких свойств?
это мое мнение (с помощью SwiftUI) :
struct SettingsChoiseView: View {
@Binding var actualSetting: Settings
@Environment(\.managedObjectContext) var moc: NSManagedObjectContext
@FetchRequest var avalibleSettings: FetchedResults<Settings>
init(setting: Binding<Settings>) {
let fetchRequest: NSFetchRequest< Settings> = Settings.fetchRequest()
fetchRequest.sortDescriptors = [NSSortDescriptor(keyPath: \ Settings.name, ascending: true),
NSSortDescriptor(keyPath: \ Settings.height, ascending: true)]
fetchRequest.predicate = NSPredicate(format: "!(name = %@ && height == %d)", setting.name.wrappedValue, setting.height.wrappedValue)
self._avalibleSettings = FetchRequest(fetchRequest:fetchRequest)
}
var body: some View{
...
}
}
Settings
- NSManagedObject
с именем свойства и высотой.