Мне нужно использовать NSPredicate с функцией округления.Например:
Child* child1 = [self myFirstChild]; NSPredicate *predicate = [NSPredicate predicateWithString:@"round(SELF.age) > 12"]; BOOL twelveOrAlmostTwelve = [predicate evaluateWithObject:child1];
В документации нет такой функции: http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Predicates/Predicates.pdf
Есть идеи?Спасибо
Вы можете использовать свою собственную определенную функцию в классе расширений. IE:
[NSPredicate predicateWithFormat:@"FUNCTION('12.12345','round:',3) = 12.123"]
и вам нужно определить этот метод в вашей категории для т.е. NSString
-(NSNumber*) round:(NSString*) precision;
посмотрите на страницу: http://funwithobjc.tumblr.com/post/2922267976/using-custom-functions-with-nsexpression
Вы не можете генерировать произвольные функции предикатов.В этом случае, однако, ответ тривиален:
NSPredicate *predicate = [NSPredicate predicateWithString:@"SELF.age >= 11.5"];