2
我需要構建動態NSPredicates。我發現使用字符串文件非常方便,我可以在其中應用替換變量。這是我在文件中所做的。在NSPredicate模板中替換字段名稱
start<=$START AND end>=$END
,這是駐留在工具方法的代碼片段:
-(NSPredicate*)predicateWithName:(NSString*)name andVariables:(NSDictionary*)dict {
NSURL *queryFile = [[NSBundle mainBundle] URLForResource:name withExtension:@"query"];
//...
NSString *query = [NSString stringWithContentsOfURL:queryFile encoding:NSStringEncodingConversionAllowLossy error:&err];
NSPredicate *predicate = [NSPredicate predicateWithFormat:query];
return [predicate predicateWithSubstitutionVariables:dict];
}
它們都工作得非常好,但現在我需要添加一個充滿活力的領域中,基於一些條件我想要查詢特定的字段,但我找不到一種方法來完成此操作。查詢文件將變成:
start<=$START AND end>=$END AND $FIELD_NAME==1
$ FIELD_NAME名獲得取代的引號和查詢不工作。我知道我可以使用%K作爲關鍵字,但似乎沒有辦法用字典來做到這一點。
感謝