У меня есть массив с именами файлов, и я хочу найти все имена, которые заканчиваются, например, 00001.trc , когда traceNum
равно 1. Я попробовал это:
NSPredicate *tracePredicate = [NSPredicate predicateWithFormat:@"SELF ENDSWITH \"%05d.trc\"", traceNum];
и мой предикат был SELF ENDSWITH "%05d.trc"
вместо SELF ENDSWITH "00001.trc"
Я попробовал это:
NSPredicate *tracePredicate = [NSPredicate predicateWithFormat:@"SELF ENDSWITH %@%05d.trc%@", @"\"", traceNum, @"\""];
и получил исключение: Unable to parse the format string "SELF ENDSWITH %@%05d.trc%@"
.
Так что япопробовал это:
NSPredicate *tracePredicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"SELF ENDSWITH \"%05d.trc\"", traceNum]];
и все работает.
Так что мне действительно нужно stringWithFormat
в дополнение к predicateWithFormat
или есть что-то, что я не правильно делаю при создании моего предиката?