Core data 核心数据一对多关系设置为零

Core data 核心数据一对多关系设置为零,core-data,Core Data,我有两张桌子A和B。 A->>B(原子化,一对多关系) SQL调试后的输出-com.apple.CoreData.SQLDebug1@khundaragpan请查看。您需要发布保存方法和错误日志。尝试从产品>方案>编辑方案>启动时传递的参数--com.apple.CoreData.SQLDebug1中调试CoreData。同样,这个类似的问题可能会帮助您@Khundragpan油酸酶看看。链接到错误日志coredata:///RNewMessageEntity/t506462E6-91DC-4E

我有两张桌子A和B。 A->>B(原子化,一对多关系)
SQL调试后的输出
-com.apple.CoreData.SQLDebug1
@khundaragpan请查看。您需要发布保存方法和错误日志。尝试从产品>方案>编辑方案>启动时传递的参数-
-com.apple.CoreData.SQLDebug1
中调试CoreData。同样,这个类似的问题可能会帮助您@Khundragpan油酸酶看看。链接到错误日志
coredata:///RNewMessageEntity/t506462E6-91DC-4EDE-AEAA-9812288999336>
。还要注意
jobRelationship=nil。这是一种相反的关系吗。你能把你的模型贴出来吗。
    - (RJobObject *)saveMessageToDB:(RMessageObject *)msgObject {

    NSManagedObjectContext *context = [self managedObjectContext];

    RJobEntity * jobEntity = [self getJobEntityWithId:msgObject.jobId];
    if (jobEntity == nil) {
        //this portion cannot be reached
        return nil;
    }


    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"RNewMessageEntity" inManagedObjectContext:context];
    [fetchRequest setEntity:entity];
    [fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"id == %@", msgObject.id]];
    NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:nil];

    if (fetchedObjects.count == 0) {

        RKObjectMapping * msgMapping = [RMessageObject mapping];
        RKRequestDescriptor *requestDescriptor2 = [RKRequestDescriptor requestDescriptorWithMapping:msgMapping.inverseMapping objectClass:[RMessageObject class] rootKeyPath:nil method:RKRequestMethodPOST];
        NSDictionary *dict = [RKObjectParameterization parametersWithObject:msgObject requestDescriptor:requestDescriptor2 error:nil];

        RNewMessageEntity * msgEntity  = [NSEntityDescription insertNewObjectForEntityForName:@"RNewMessageEntity" inManagedObjectContext:context];
        msgEntity.dictionary = dict;
        msgEntity.id = msgObject.id;
        msgEntity.createdAt = [NSNumber numberWithLongLong:msgObject.createdAt];

        jobEntity.latestMessageCreatedAt = [NSNumber numberWithLongLong:msgObject.createdAt];
        [jobEntity addMessageRelationshipObject:msgEntity];
        if (jobEntity.messageRelationship == nil) {
             NSLog(@"swappy");
        }

        NSError *error;
        if (![context save:&error]) {
            NSLog(@"Failed to save in core data : %@", error.localizedDescription);
            return nil;
        }

        RJobObject *jobObject = [self getJobObjectFromEntity:jobEntity];
        return jobObject;
    } 

    return nil;
}

- (RJobObject *)saveJobToDB:(RJobObject *)jobObject {

    NSManagedObjectContext *context = [self managedObjectContext];

    RJobEntity * jobEntity = [self getJobEntityWithId:jobObject.id];

    if (!jobEntity) {
        jobEntity = [NSEntityDescription insertNewObjectForEntityForName:@"RJobEntity" inManagedObjectContext:context];
    }

    RKObjectMapping * itemMapping = [RJobObject mapping];
    RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:itemMapping.inverseMapping objectClass:[RJobObject class] rootKeyPath:nil method:RKRequestMethodPOST];

    NSMutableDictionary *dict = (NSMutableDictionary *)[RKObjectParameterization parametersWithObject:jobObject requestDescriptor:requestDescriptor error:nil];

    jobEntity.pUserJobsDictionary = dict;
    jobEntity.id = jobObject.id;

    NSError *error;
    if (![context save:&error]) {
        NSLog(@"Failed to save in core data : %@", error.localizedDescription);
        return nil;
    }

    jobObject.latestMessageCreatedAt = jobEntity.latestMessageCreatedAt;
    return jobObject;

}