我正在使用coreData一对多关系。例如文件夹 - 文件。所以我想要做的是从一个文件夹中取出一个文件并将其复制到另一个文件夹中。CoreData一对多关系问题
So for example
folder A B
file a b
file c d
现在我想从文件夹中的文件拷贝C到文件夹B,它应该这样看
folder A B
file a b
file c d
file c
要执行此操作,我已经在一些视图控制器写了这个代码 这是发生这之后一些导航操作
首先我在这里提取的所有文件夹
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
这意味着它正从一个文件夹中删除并添加到另一个文件夹。
所以我想知道我要去哪里错了。
问候 兰吉特
看起来你并没有真的在做文件复制。我在这里看不到导致此问题的代码。你能分享一些更多的代码吗? – 2013-03-14 08:12:07
难道是在'fileObject =(传递给这个ViewController的文件对象)'你*用新的文件对象替换你想复制的文件对象?您可能需要复制这些属性,例如'fileObject.name = oldFileObject.name,...'。 – 2013-03-14 08:32:50
嗨@MarkKryzhanouski,实际上这是我写了一个文件从一个文件夹复制到另一个,我没有更多的代码分享 – Ranjit 2013-03-14 08:45:42