Я твердо верю, что одна из ваших переменных - ноль или была автоматически освобождена ...
попробуйте это:
NSNumber *num1 = [NSNumber numberWithFloat:2.0];
NSNumber *num2 = [NSNumber numberWithFloat:3.0];
NSString *str = @"Test";
[NSPredicate predicateWithFormat:@"(startValue => %@) AND (endValue <= %@) AND (someId == %@)", num1, num2, str];
Если это удастся, проблема с вашими переменными.
Если вы ожидаете, что num1
или num2
будут иногда nil
, то вы можете переписать предикат как:
[NSPredicate predicateWithFormat:@"(startValue => %@) AND (endValue <= %@) AND (someId == %@)", num1 ? num1 : [NSNumber numberWithFloat:0.0], num2 ? num2 : [NSNumber numberWithFloat:0.0], idString];