0

在数据库中插入数据时,我在核心数据中遇到了错误的访问问题,我也使用了@try,@catch 块,但我找不到任何解决方案。我被困在最后 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] 保留];

所以请给我任何建议或想法。

提前感谢您的帮助。

4

1 回答 1

1

在第一行设置一个断点,然后逐个遍历。我将检查以下内容:

  • context 是一个有效的上下文(在分配后悬停或键入 po 上下文)
  • ENTITY_CONTACTSLISTSYNC 解析为有效的实体名称
  • aAppContactId 和 aDevContactId 是有效值

检查 ContactListSync 实体以获取未提供的必填字段?

如果它在第三行失败,似乎是三件事之一,上下文无效,另一个线程上的上下文,实体名称不正确。您在异常时的错误消息中得到什么线索?

于 2013-10-16T12:59:47.543 回答