私はcoreDataの1対多の関係で作業しています。たとえば、フォルダー - ファイル。私がやりたいことは、あるフォルダーからファイルを取得して、別のフォルダーにコピーすることです。
So for example
folder A B
file a b
file c d
今、ファイルcをフォルダーAからフォルダーBにコピーしたいのですが、このように見えるはずです
folder A B
file a b
file c d
file c
この操作を実行するために、私はこのコードを書きました これは、いくつかのナビゲーション操作の後に開くView Controllerで発生しています
まず、ここですべてのフォルダーを抽出しています
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Folder" inManagedObjectContext:self.managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];
NSError *error = nil;
m_folderResults = [self.managedObjectContext executeFetchRequest:request error:&error];
次に、ファイルの新しいインスタンスを作成しました
File *fileObject = [NSEntityDescription insertNewObjectForEntityForName:@"File" inManagedObjectContext:self.managedObjectContext];
fileObject = (passed file object to this ViewController)
Folder *folderObject = [m_folderResults objectAtIndex:m_indexPath.row];
NSMutableOrderedSet *files = [folderObject mutableOrderedSetValueForKey:@"file"];
[files addObject:fileObject];
これは機能していますが、私が直面している問題は、この方法で取得していることです
folder A B
file a b
file d
file c
つまり、あるフォルダーから削除され、別のフォルダーに追加されます。
だから私はどこが間違っているのか知りたいのです。
よろしくランジット