2011-01-09 48 views
0

下面是代碼:CoreData插入新的對象是使用的setValue時給我的錯誤與一個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 [email protected]"ComicID"得到了警告。僅供參考 - 漫畫是我自己的班級,具有漫畫的細節。 警告:傳遞的參數1「的setValue:forKey:」時將整數指針,未作鑄造

當我改變的代碼行:

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

我得到這些警告和一個錯誤: 警告:無效的接收器類型'int' 警告:傳遞'setValue:forKey:'的參數1使得整型指針沒有轉換

我在做什麼錯?

回答

6

如果comic.iComicId不是NSNumber,則需要將其包裝在一個NSNumber對象然後把它傳遞:

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

comic.iComicId是@property(非原子,分配)INT iComicId;作爲我的ComicDB * newComic - ComicID是一個NSNumber。我必須使用它來使它工作:[newComic setValue:[NSNumber numberWithInt:comic.iComicId] forKey:@「ComicID」]; – Mausimo 2011-01-09 20:54:16

相關問題