为实体插入新的对象的CoreData给我错误时使用setValue:forKey:与一个int

这里是代码:

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"]; 

这是我在setValue:comic.iComicId forKey@"ComicID"上得到的警告。 仅供参考 – 漫画是我自己的类,具有喜剧的细节。 警告:传递'setValue:forKey:'的参数1使得整型指针没有强制转换

当我将代码行更改为:

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

我得到这些警告和错误:警告:无效的接收器types'INT'警告:通过参数1的'setValue:forKey:'使整数指针没有一个强制转换

我究竟做错了什么?

如果comic.iComicId不是NSNumber ,则需要将其包装在NSNumber对象中,然后传递它:

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