以下是代码:
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"];
我收到这些警告并出现错误: 警告:无效的接收器类型'int' 警告:传递'setValue:forKey:'的参数1使得整数的指针没有强制转换
我做错了什么?
答案 0 :(得分:6)
如果comic.iComicId
不是NSNumber
,则需要将其包装在NSNumber
对象中然后传递它:
[newComic setValue:[NSNumber numberWithInt:[comic.iComicId intValue]] forKey:@"ComicID"];