2
我剛剛開始使用Core Data,並遇到需要使用適當的ID保存新對象的問題。NSNumber numberWithInt:返回奇怪的數字?
我試圖在該行中添加下一個號碼作爲用戶添加對象的ID:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"Favorites" inManagedObjectContext:managedObjectContext]];
[request setIncludesSubentities:NO];
NSError *err;
NSUInteger count = [managedObjectContext countForFetchRequest:request error:&err];
NSManagedObjectContext *context = [fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[fetchedResultsController fetchRequest] entity];
NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
[newManagedObject setValue:[NSNumber numberWithInt:count] forKey:@"favoritesID"];
如果我當時去在valueForKey:@「favoriteID」我得到的東西像「81933072」,這是錯誤的。
我檢查了count
,它是正確的數字,它只是當我把它放入核心數據中,它變成別的東西。 favoriteID
是一個int16 btw。
我認爲加拿大Dev意味着屬性「favoritesID」被定義爲核心數據中的Int16,它是一個NSNumber。 – gerry3 2010-01-20 04:48:07
啊,我的錯。我認爲我的答案的第一部分仍然是要解決他的問題。 – 2010-01-20 06:38:29
是的。 「favoritesID」是一個Int16,我可以在文檔中看到它是一個NSNumber對象。 – runmad 2010-01-20 16:16:27