Предикат NSPredicateWithFormat, передающий имя атрибута

Простой вопрос относительно NSPredicate. Я пытаюсь построить свой предикат с такими значениями «пройденный»:

NSPredicate* currentPredicate = [NSPredicate predicateWithFormat:@"%@ == %@",key,[changesDict valueForKey:@"Id"] ]; 

Однако я не смог заставить это работать правильно. Если я вставляю фактическое значение, которое я пропускаю, он работает. Итак, это работает:

 NSPredicate* currentPredicate = [NSPredicate predicateWithFormat:@"contactId == %@",[changesDict valueForKey:@"Id"] ]; 

(Обратите внимание, что я вставил contactId в отличие от предыдущего примера, когда я передаю строку с тем же именем)

Чтобы устранить неполадки, я NSLogged два предиката смотрел на их описания, и они были разными. Я покажу их ниже.

Это рабочий

 2013-01-17 10:29:25.513 TestingCoreData[1776:3b03] contactId == "5878" 

Это не работает

 2013-01-17 10:29:25.513 TestingCoreData[1776:3b03] "contactId" == "5878" 

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

One Solution collect form web for “Предикат NSPredicateWithFormat, передающий имя атрибута”

Для ключей или ключевых путей вы должны использовать формат %K :

 [NSPredicate predicateWithFormat:@"%K == %@", key, [changesDict valueForKey:@"Id"]]; 

(См. Основы Parser в «Руководстве по программированию предикатов».)

  • Как фильтровать результаты из NSFetchedResultsController на основе рассчитанного свойства?
  • Swift coreData - формат даты и использовать его в предикате
  • Могут ли два объекта CoreData иметь более одного отношения «ко многим» между ними?
  • Невозможно использовать предикат, который сравнивает даты в Magical Record
  • Фильтр NSPredicate to-Many с дочерним объектом
  • Как предизировать userinfo.key в UILocalNotification
  • NSPredicate не может разобрать строку формата
  • Гопарльпар Филиппольль Нуль Нуль Нульльльль Филипль Нульльльль Филипль Нульльльль Нуль Нульльтро Нуль Нульль Нульбальз Филип Нуль Нульльльльльльльльльльльльльльльльльльльльльльльльль делитольфальдепаркальгильгельгельге
  • как найти индексную позицию ARRAY Где NSPredicate выбирает значение. Я использую filterArrayUsingPredicate в качестве фильтра
  • NSPredicate для получения детских детских
  • Ошибка NSPredicate, executeFetchRequest
  • Interesting Posts

    Могу ли я запустить NSOperation внутри другого NSOperation без очереди?

    Ошибка нарушения правил в Xmpp ios?

    Как заставить UIButton всегда быть на высоте

    Сохранение массива изображений

    отправлять данные в DetailView из FavoriteTableView?

    Повторное использование UITableViewCell: отображение ячейки неверно – повторное использование не ожидается

    Перемещение курсора в начало UItextview

    Кордова не реагирует после возвращения плагина

    Как я могу запросить других пользователей Firebase?

    Цвет изображения кнопки IOS 7

    Невозможно вызвать «init» с списком аргументов типа StringLiteralConvertible

    Просмотр содержимого контроллера при использовании Interface Builder

    XCode получает «target указывает тип продукта» com.apple.product-type.bundle.unit-test ', но такого типа продукта для платформы «iphoneos» нет,

    LinkedIn ios SDK – аутентификация пользователя, если пользователь не хочет загружать мобильное приложение из магазина приложений

    Отслеживайте конверсии из приложений загрузки приложения facebook с помощью iTunes Analytics

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.