objective c - code - EXC_BAD_ACCESS al intentar crear una cadena utilizando% @ para un int
exc_bad_access swift (2)
En el formato para int, no debe usar %@
, sino %i
. %@
es para objetos`.
Para el uso dentro de Core Data intenté construir un objeto NSPredicate
. minLength
y maxLength
son de tipo int
:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"length >= %@ AND length <= %@",
minLength, maxLength];
El programa se bloquea aquí con un EXC_BAD_ACCESS
. Este no es el caso si uso %d
lugar de %@
:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"length >= %d AND length <= %d",
minLength, maxLength];
¿Que me estoy perdiendo aqui?
%@
es el especificador de formato para objetos. Un int
no es un objeto. El especificador de formato para enteros con signo es %d
o %i
.