thread exc_bad_access code address 0x0 objective-c exc-bad-access

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 .