CoreData insertar un nuevo objeto para la entidad me da un error al usar setValue: forKey: con un int

Aquí está el código:

ComicDB * newComic = (ComicDB *)[NSEntityDescription insertNewObjectForEntityForName:@"ComicDB" inManagedObjectContext:context];
            [newComic setValue:comic.iComicId forKey:@"ComicID"];
            [newComic setValue:comic.sImage forKey:@"Image"];
            [newComic setValue:comic.sName forKey:@"Name"];
            [newComic setValue:comic.sText forKey:@"Text"];
            [newComic setValue:comic.sComicURL forKey:@"URL"];

Esta fue la advertencia que recibí en el setValue:comic.iComicId forKey@"ComicID". Para su información, el cómic es mi propia clase que contiene detalles cómicos. advertencia: pasar el argumento 1 de 'setValue: forKey:' hace que el puntero sea un número entero sin una conversión

cuando cambio la línea de código a:

[newComic setValue:[comic.iComicId intValue] forKey:@"ComicID"];

recibo estas advertencias y un error: advertencia: tipo de receptor no válido 'int' advertencia: pasar el argumento 1 de 'setValue: forKey:' hace que el puntero sea un número entero sin una conversión

¿Qué estoy haciendo mal?

preguntado el 09 de enero de 11 a las 07:01

1 Respuestas

If comic.iComicId no es un NSNumber, necesitas envolverlo en un NSNumber objeto luego páselo:

[newComic setValue:[NSNumber numberWithInt:[comic.iComicId intValue]] forKey:@"ComicID"];

Respondido el 09 de enero de 11 a las 10:01

comic.iComicId es una @propiedad (no atómica, asignar) int iComicId; donde como mi ComicDB * newComic - ComicID es un NSNumber. Tuve que usar esto para que funcionara: [newComic setValue: [NSNumber numberWithInt: comic.iComicId] forKey: @ "ComicID"]; - Mausimo

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.