Nano Hash - криптовалюты, майнинг, программирование

NSPredicate возвращает все, кроме заданного объекта

не могу найти синтаксис 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 с именем и высотой свойств.



Ответы:


1

спасибо @Asperi, я понял:

        fetchRequest.predicate = NSPredicate(format: "NOT (self in %@)", [setting.wrappedValue])
08.01.2020
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..