2012-04-16 3 views
0

エンティティ "Teilnehmer"からメンバーを取得しようとしているが、別のエンティティ "Buchungsteilnehmer"に "buchung"という関係で保存したい。NSSetは私のセットの最後の値をとる

問題は、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

オブジェクトを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]; 
+0

は、それが動作しますが、そんなにありがとう! –

+0

あなたの歓迎! – giorashc

0

私を助けてくださいことができますあなたのためのループが始まる前にNSMutableSetを作成します。新しいエンティティを挿入するたびに、セットのaddObjectを呼び出します。

関連する問題