为实体插入新的对象的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"];