我正在使用谓词来过滤NSArray但是,当像这样创建谓词时
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K contains[c] %@ && %K contains[c] %@ ",
kUnitUnitcategoryKey,
@"Blood Pressure Diastolic",
kUnitUnitNameKey,
[_txtOxygenSaturationUnit.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
之后"谓词" string是:" unit_category CONTAINS [c]"血压舒张压" AND unit_name CONTAINS [c]"%" "
NSArray *results = [_arrUnitsName filteredArrayUsingPredicate:predicate];
它将返回Zero记录。
现在,我如何将%用作字符串。
答案 0 :(得分:1)
这是编写有点复杂谓词的极其丑陋的方法。您会发现使用NSCompoundPredicates更容易管理和修改。只需创建多个NSPredicates然后使用andPredicate来组合所有谓词。
What is the best way to build a complex NSCompoundPredicate?
至于如何将%作为字符串使用的实际问题?单独测试每个谓词,如果您获得零结果以便于调试,您会发现问题更容易。