#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"