在数据库中插入数据时,我在核心数据中遇到了错误的访问问题,我还使用了 @try、@catch block ,但我找不到任何解决方案。我被困了 3 天,所以请帮助我解决这个问题或给我任何建议。
- (BOOL) addSynchedContactsList:(int)aAppContactId :(NSString*)aDevContactId
{
NSManagedObjectContext *context = [[PFCoreDataController sharedCoreDataController] managedObjectContext];
BOOL success = YES;
ContactsListSync *syncContact = (ContactsListSync *)[NSEntityDescription insertNewObjectForEntityForName:ENTITY_CONTACTSLISTSYNC inManagedObjectContext:context];
syncContact.appContactlistId = [NSNumber numberWithInt:aAppContactId];
syncContact.devConatctlistId = aDevContactId;
return success;
}
在这一行中,
ContactsListSync *syncContact = (ContactsListSync *)[NSEntityDescription insertNewObjectForEntityForName:ENTITY_CONTACTSLISTSYNC inManagedObjectContext:context];
或者
ContactsListSync *syncContact = (ContactsListSync *)[[NSEntityDescription insertNewObjectForEntityForName:ENTITY_CONTACTSLISTSYNC inManagedObjectContext:context] keep];
所以请给我任何建议或任何想法。
在此先感谢您的帮助。
最佳答案
在第一行放置一个断点并单步执行每一行。 我会检查以下内容:
- context 是一个有效的上下文(在分配后悬停或键入 po context)
- ENTITY_CONTACTSLISTSYNC 解析为有效的实体名称
- aAppContactId 和 aDevContactId 是有效值
检查 ContactListSync 实体是否未提供必填字段?
如果它在第三行失败,似乎是三件事之一,上下文无效,另一个线程上的上下文,实体名称不正确。您从异常的错误消息中得到什么线索?
关于iphone - 核心数据错误访问 insertNewObjectForEntityForName 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19402347/