亲爱的。 目前我需要从核心数据中提取必要的对象,但我在实体中只有属性名称。为了设置反向关系,我找到了一种循环托管对象中所有对象的方法,比较字符串以检查必要的属性和设置关系。愿有人有更好的方法。关系载体是NamesTranslationRules实体的一部分,并连接到Carriers Entity
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"];
}
父对象在应用程序启动时创建为具有某些属性的运营商名称。以后用户必须从其他来源中选择一个名称,并根据用户的选择我们必须添加适当的实体,这些实体已经存在父实体载体。
答案 0 :(得分:1)
反向关系是什么意思?如果关系已经是双向的,那么Core Data会自动为您设置反向。
如果您的意思是其他内容,您可以在NSFetchRequest
上使用谓词预先过滤对象并跳过字符串比较。
您应该在创建时知道父对象,并且应该在那时连接它们。
数据来自哪里?