2012-01-04 10 views
1

私のアプリケーションでは、データベースに2つのエンティティがあります。私は最初のエンティティからのデータを表示するfetchedresultscontrollerを持っています。私はクリックすると、データベースの最初のテーブルが更新され、そのアイテムが2番目のテーブルに挿入される各行にチェックボックスがあります。コアデータiPhone - 1つのテーブルの更新と他のテーブルからの削除

私が今したいことは、チェックボックスを無効にすると、そのエントリを2番目のテーブルから削除したいということです。どんな推測?ここに私のコードです。

 [email protected]"true"; 
     NSArray *keys = [NSArray arrayWithObjects:@"xyz", @"name", @"id", nil]; 
     NSArray *objects = [NSArray arrayWithObjects:currentStatus,name, id, nil]; 
     NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys]; 
     NSManagedObject *data; 
     data = [NSEntityDescription insertNewObjectForEntityForName:@"SecondTable" inManagedObjectContext:[self context]]; 
     for(id key in dictionary) { 
      [data setValue:[dictionary objectForKey:key] forKey:key]; 
     } 

「deleteObjectforEntityForName」のようなものは見つかりませんでした。

答えて

0

NSManagedObjectContextでこの方法はどうですか?

- (void)deleteObject:(NSManagedObject *)object 
+0

私はそれを使用しましたが、同じテーブルから削除されます。エンティティ名をどのように与えることができますか? –

+1

間違ったテーブルから削除している場合は、間違ったオブジェクトを削除しています。 –

+0

多分何が起きているのでしょうか。なぜ、削除以外のすべてが機能しているかを調べてみましょう。返信いただきありがとうございます。 –

1

チェックボックスの値を表示するフラグを設定します。そして、このフラグ値に応じて、2番目のテーブルからデータを削除します。

+0

ITが機能しません。この場合単純ではありません。すべてのFetchedResultsControllerが1つのテーブルビューにフックされます。私はこのコンテキストから2番目のテーブルにアクセスすることができません。 –

関連する問題