0

私はエンティティ「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]);
        }
4

2 に答える 2

0

オブジェクトを 1 つだけ使用してセットを作成するのに、複数のオブジェクトを含むことをどのように期待しますか?

コードを次のように変更します。

  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]; 
于 2012-04-16T13:01:02.017 に答える
0

for ループが始まる前に NSMutableSet を作成します。新しいエンティティを挿入するたびに、セットで addObject を呼び出します。

于 2012-04-16T12:59:55.687 に答える