1

私のアプリでは、CoreData を使用しており、2 つのエンティティがあります。VenueInfo と ContactInfo。

アプリでは会場を追加でき、各会場には ContactInfo があります。そのため、モデルで 1 対 1 の関係をセットアップしました。

だから私は想像します、私は単に次のことを行うことができます:

[venue.contact setValue:textField.text forKey:email];

同様に、会場に属する contact オブジェクトの email 属性を設定します。ただし、これは機能しません。

連絡先オブジェクトがまだ存在しないため可能ですか?

4

1 に答える 1

5

あなたが書いた行はそのようには機能しません。contact は、xCodeModel の Venue エンティティにある関係名だと思います。

 [venue.contact setValue:textField.text forKey:email]; // can't write this way..

ContactInfoエンティティに : という 2 つのフィールドがphoneあるとしますemail。このように進むことができます。VenueInfo エンティティには次の 2 つのフィールドがあり ます name

  VenueInfo *venueInfo=[NSEntityDescription   insertNewObjectForEntityForName:@"VenueInfo" inManagedObjectContext:self.managedObjectContext];
  vanueInfo.name=txtVenueName.text;           // venue name entry


  ContactInfo *contactInfo=[NSEntityDescription   insertNewObjectForEntityForName:@"ContactInfo" inManagedObjectContext:self.managedObjectContext];

  contactInfo.phone=txtPhone.text;
  contactInfo.email=txtEmail.text;
  contactInfo.venue=venueInfo;  // I assume venue is the relationship name you give in ContactInfo entity towards Venue entity.

ここで行ったことは、電話と電子メールの詳細をエンティティのみに保存し、エンティティで宣言した関係にContactInfo現在選択されているVenueInfoアクセスに関連付けただけです。ContactInfoVenueInfo

これはかなり混乱するかもしれないので、いくつかのチュートリアルに従うことをお勧めします.

于 2012-04-07T12:37:12.627 に答える