Difficulty loading integer from Core Data
我有一个整数存储在我的
实体是 Status,我正在尝试检索 lastMessageDate 和 lastMessageID 字段。在这个实体中只会有一个记录。日期检索正常,但整数不检索。
1 2 3 4 5 6 | NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Status"]; NSError *error = nil; self.updateStatus = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error]; NSDate *lastSavedMessageDate = [[self.updateStatus objectAtIndex:0] lastMessageDate]; NSInteger lastSavedMessageID = [[self.updateStatus objectAtIndex:0] lastMessageID]; |
检索到的不是实际存储的数字。我想这可能与指针有关,但无论我尝试什么,我似乎都无法获得实际存储的数字。
一个相关的问题是当我试图保存到这个字段时。日期保存得很好,但包括整数保存我得到一个错误:
1 2 3 4 5 6 7 | for (NSManagedObject *updatedRecord in [self updateStatus]) { [updatedRecord setValue:now forKey:@"lastMessageDate"]; [updatedRecord setValue:newMessageID forKey:@"lastMessageID"]; } NSError *errorUpdate; [context save:&errorUpdate]; |
Implicit conversion of 'NSInteger' (aka 'int') to 'id' is disallowed
with ARC
有什么建议吗?
正如其他人所说,您需要使用
将 NSNumber 转换为原语就像在对象上调用正确的方法一样简单,在这种情况下它将是