Ответ 1
%@
является спецификатором формата для объектов. int
не является объектом. Спецификатор формата для целых чисел со знаком равен %d
или %i
.
Для использования в Core Data я попытался создать объект NSPredicate
. minLength
и maxLength
имеют тип int
:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"length >= %@ AND length <= %@",
minLength, maxLength];
Программа сбрасывается здесь с помощью EXC_BAD_ACCESS
. Это не тот случай, если я использую %d
вместо %@
:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"length >= %d AND length <= %d",
minLength, maxLength];
Что мне здесь не хватает?
%@
является спецификатором формата для объектов. int
не является объектом. Спецификатор формата для целых чисел со знаком равен %d
или %i
.
В формате для int вы не должны использовать %@
, но %i
. %@
для объектов.