亲爱的所有人。目前我需要从核心数据中提取必要的对象,但我在实体中只有属性名。为了设置反向关系,我发现只有一种方法可以遍历托管对象中的所有对象,比较字符串以检查必要的属性一致性和设置关系。也许有人有更好的办法。关系运营商是NamesTranslationRules实体的一部分,并连接到运营商实体
NSManagedObjectContext *moc = [self managedObjectContext];
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:[NSEntityDescription entityForName:@"Carriers"
inManagedObjectContext:moc]];
NSArray *carriers = [moc executeFetchRequest:request
error:&error] ;
for (NSManagedObject *carrier in carriers)
{
if ([[carrier valueForKey:@"name"] isEqualToString:[tempRules valueForKey:@"carrier"]]) [namesTranslationRules setValue:carrier forKey:@"carrier"];
}父对象在应用程序启动时被创建为具有某些属性的运营商的名称。之后,用户必须从另一个来源选择一个名称,并且根据用户的选择,我们必须添加相应的实体,这些实体已经存在父实体运营商。
发布于 2010-11-10 04:57:22
你说的反向关系是什么意思?如果关系已经是双向的,那么Core Data将自动为您设置反向关系。
如果您指的是其他东西,您可以考虑在NSFetchRequest上使用谓词来预过滤对象,并跳过字符串比较。
更新1
您应该知道创建时的父对象,并且应该在那时将它们连接起来。
数据从何而来?
https://stackoverflow.com/questions/4135388
复制相似问题