根据我要获取的数据,我有两个值码和英里数。如果用户输入了两个值,那么我想将两个值合并为一英里* 1760码。早些时候,当我独自提取码数或英里时,我正在做
if (![[optional valueForKey:@"Miles"] isEqualToNumber:[NSNumber numberWithInt:0]]) {
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"miles <= %@",[optional valueForKey:@"Miles"]];
[predicateArray addObject:predicate];
}
我有什么想法可以做到这一点?
答案 0 :(得分:1)
您可以在谓词中使用NSExpression
documentation中描述的功能。例如:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"add:to:(multiply:by:(miles,1760),yards) > %@", @(5000)];
将选择总距离(英里* 1760 +码)大于5000的项目。