我尝试从实体“Teilnehmer”中获取成员,然后我想将它保存到另一个与“buchung”有关系的实体“Buchungsteilnehmer”。
问题是,nsset函数只保存姓氏并将其与我的实体“buchung”建立关系。但我想将for语句中的所有成员存储到与“buchung”的关系中。
请帮助我
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Teilnehmer" inManagedObjectContext:context];
[request setEntity:entity];
NSArray *events = [context executeFetchRequest:request error:nil];
for (Teilnehmer *teil in events) {
teilnehmer = [NSEntityDescription insertNewObjectForEntityForName:@"Buchungsteilnehmer" inManagedObjectContext:context];
teilnehmer.name=teil.name;
NSLog(@"Name der Teilnehmer lautet: %@",teil.name);
NSError *error;
if (![context save:&error])
{
NSLog(@"Fehler beim hinzufügen : %@", [error localizedDescription]);
}
}
NSSet *set = [NSSet setWithObject:teilnehmer];
NSLog(@"SET: %@",set);
buchung.buchungsteilnehmer=set;
NSError *error;
if (![context save:&error])
{
NSLog(@"Fehler beim hinzufügen : %@", [error localizedDescription]);
}
答案 0 :(得分:0)
在for循环开始之前创建一个NSMutableSet。每次插入新实体时都要在集合上调用addObject。
答案 1 :(得分:0)
您只使用一个对象创建您的集合,那么您希望它如何拥有多个对象?
按如下方式更改您的代码:
NSMutableSet *set = [[NSMutableSet alloc] init];
for (Teilnehmer *teil in events) {
teilnehmer = [NSEntityDescription insertNewObjectForEntityForName:@"Buchungsteilnehmer" inManagedObjectContext:context];
teilnehmer.name=teil.name;
NSLog(@"Name der Teilnehmer lautet: %@",teil.name);
NSError *error;
if (![context save:&error])
{
NSLog(@"Fehler beim hinzufügen : %@", [error localizedDescription]);
} else {
[set addObject:teilnehmer];
}
}
buchung.buchungsteilnehmer=set; // I assume you synthesized this member so it retains set
[set release];