【问题标题】:Core Data One-To-Many relationship. Many appears for all核心数据一对多关系。许多人出现
【发布时间】:2012-09-02 18:35:13
【问题描述】:

我在核心数据中设置了一对多关系。我可以从“主”实体查看/添加/删除对象,但是现在我想查看/添加/删除对象到许多“子”实体,每个主实体应该有单独的子对象列表。

我试过这段代码:

NSManagedObjectContext *context = [[DataSingleton sharedSingleton] thisMain].managedObjectContext;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
                               entityForName:@"Subs" inManagedObjectContext:context];
[fetchRequest setEntity:entity];

NSError *error;
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];

wolArray = [NSMutableArray arrayWithArray:fetchedObjects];

[[DataSingleton sharedSingleton] thisMain] 是我试图获取 Subs 的 Main。我做错了吗? 它似乎给了我所有电源的所有 Subs。

现在有可能我添加错误了,并且它们没有被添加到 Main 的 Subs 中(如果可能的话?)

这就是我添加它们的方式:

NSManagedObjectContext *context = [[DataSingleton sharedSingleton] thisMain].managedObjectContext;
Subs *subsInfo = [NSEntityDescription
                                insertNewObjectForEntityForName:@"Subs"
                                inManagedObjectContext:context];
subsInfo.name = [newDevice objectForKey:@"name"];
subsInfo.address = [newDevice objectForKey:@"address"];
subsInfo.post = [newDevice objectForKey:@"post"];
NSError *error;
if (![context save:&error]) {
    NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}

【问题讨论】:

    标签: ios xcode cocoa-touch core-data


    【解决方案1】:

    如果thisMain 是“Main”对象,subs 是从“Main”到“Subs”的一对多关系,那么您可以这样做

    NSArray *thisSubs = [thisMain.subs allObjects];
    

    获取thisMain 的所有“Subs”数组。不需要获取请求。

    对于您的第二个任务,您需要定义从“Subs”到“Main”的逆关系“main”。当您创建了新的“Subs”对象subsInfo,然后

    subsInfo.main = thisMain;
    

    将其添加到主对象。

    【讨论】:

    • 谢谢。我理解第二部分,这看起来很容易。在第一部分中,Subs 是 Subs 对象。我不知道您所说的“和 subs 是一对多关系”是什么意思,这些关系有名称吗?
    • @Darren:是的,关系有名字。看看你在哪里定义了从“Main”到“Subs”的一对多关系。
    • 哦,是的,我忘了他们。这就是我当时所缺少的。我会去谢谢
    猜你喜欢
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 2013-10-27
    相关资源
    最近更新 更多