在Core Data中保存两个需要彼此的多对多实体

时间:2011-05-21 06:39:56

标签: iphone objective-c core-data many-to-many

我的iOS应用程序中有两个核心数据实体,目录和产品。它们都与另一个实体具有多对多的关系。我用来填充这些实体的数据来自XML文件。目前,在parser: didEndElement:我保存了一个目录实体,如下所示:

if ([elementName isEqualToString:@"catalog"]) 
{
    // Sanity check
    if(currentEatery != nil)
    {
        NSError *error;

        // Store what we imported already
        if (![managedObjectContext save:&error]) {

            // Handle the error.
            NSLog(@"Eatery error: %@", [error domain]);
        }
    }

}

但是,我不知道如何保存目录而不先保存产品以填充它。有没有人有什么建议?如有必要,我可以发布更多代码来澄清这一点。

1 个答案:

答案 0 :(得分:0)

您可以解析整个xml文件并在完成后保存上下文(我没有遇到任何问题)。完成解析并创建所有实体后,您将链接所有产品和目录。这也将使您的文件解析速度更快。