Obj-C — NSPredicate ключ фильтра, содержащий пробел в его названии?

#ios #objective-c #nspredicate

#iOS #objective-c #nspredicate

Вопрос:

У меня есть ключ (поле) в моей базе данных, который содержит пробел в своем имени (не заводите меня, лол …). Я пытаюсь использовать NSPredicate для фильтрации значений в этом ключе. Как я могу написать следующую строку для учета пробела в названии ключа «с привязи»?

 self.restSubFilter = [self.neighbourhoodData filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(off leash contains[c] %@)", @"YES"]];
  

Комментарии:

1. Можете ли вы заменить ключ на %K , как описано в developer.apple.com/library/archive/documentation/Cocoa /… ?

2. вы также можете использовать одинарные кавычки и использовать %K, как указывает @jtbandes. Должно выглядеть примерно так [NSPredicate predicateWithFormat:@"%K CONTAINS[c] '%@'",@"off leash",@"YES"] , но будьте осторожны, %K для ключевых путей, вы все равно можете получить @"'%@' CONTAINS[c] '%@'",@"off leash",@"YES"