私は2つのエンティティ(関係なし)を持つデータベース(coredata)を持っています...私の場合、挿入とフェッチはうまくいきます。しかし、一部を削除すると非常に厄介です。1つのエンティティのオブジェクトは削除されましたが、他のオブジェクトは削除されませんでした。 。
これが私のコードです:
-(void)deleteObject:(NSString *)entityDescription //entityDescription get entity name
{
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:entityDescription inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSError *errors;
NSArray *items = [self.managedObjectContext executeFetchRequest:fetchRequest error:&errors];
NSManagedObject *managedObject=[finalArray objectAtIndex:currentImageIndex];
for (int i=0;i<[items count];i++)
{
if ([managedObject isEqual:[items objectAtIndex:i]])
{
[self.managedObjectContext deleteObject:managedObject];
}
}
NSLog(@"%@ object deleted", entityDescription);
NSNotificationCenter *nc1=[NSNotificationCenter defaultCenter];
[nc1 addObserver:self selector:@selector(deleteCheck:) name:NSManagedObjectContextObjectsDidChangeNotification object:self.managedObjectContext];
NSError *error;
if (![self.managedObjectContext save:&error])
{
NSLog(@"error occured during save = %@", error);
}
else
{
NSLog(@"deletion was succesful");
}
この私のコードは、他のエンティティからオブジェクトを削除するために同じメソッドに従います... entitydescriptionは、別のメソッドから異なるエンティティ名を取得します... Itzは、あるエンティティではうまく機能し、別のエンティティでは機能しません...しかし、私はmanagedObjectContextの削除に成功したメッセージ(btは削除されていませんfrm DB)..これを解決するにはどうすればよいですか?