Implicit conversion of ‘int’ to ‘id’ is disallowed with ARC – IOS

Este error suele darnos en un código de este tipo:

int entero = 21;
NSMutableDictionary *diccionario = [[NSMutableDictionary alloc] init];
[diccionario setObject:entero forKey:@”numero”];

Es debido a que no podemos meter un int (ni ningún dato de tipo escalar) en un Dictionary, para hacerlo deberemos usar un NSNumber, asi que cambiado:

int entero = 21;
por NSNumber *entero = [[NSNumber alloc] initWithInt:21];

Lo tenemos arreglado.

PD: lo mismo nos ocurrira en un array