从Core Data中简单检索值会为实体返回null

时间:2012-10-27 00:40:31

标签: objective-c sqlite core-data null entities

我有两个实体。它们被命名为SP和Code。我分别有10个和5个属性。我对这两个实体都有反比关系。我使用 firefox addon sqlite manager 将数据输入到模型中。所以我不写这样的一行 sp.coderelationship = codeObj;或code.sprelationship = spObj;代码中的任何地方。现在在viewcontroller我正在检索数据。     self.spArray = [self.managedObjectContext executeFetchRequest:fR error:& error];

for(SP *spObj in self.spArray)
{
    NSLog(@"description is %@",spObj.sPDescription);
    Code *codObj = spObj.coderelationship;
    NSLog(@"it has value %@",codObj);
    NSLog(@" unique name is %@",codObj.uniqueCodeName);
}

输出对于描述是正确的。它打印一个值“xyz”。但是对于最后2个日志,它为空。 我的实体设计

SP

-sPDescription -sPName -sPID 的关系 -coderelationship


代码 -代码名称 -codeID -codeDate 的关系 -sprelationship

如果需要更多信息,请与我们联系。感谢..

1 个答案:

答案 0 :(得分:1)

在执行获取请求之前,请添加以下代码:

NSString *relationshipKeyPath = @"coderelationship"; // Set this to the name of the relationship on "SP" that points to the "Code" objects;
NSArray *keyPaths = [NSArray arrayWithObject:relationshipKeyPath];
[fR setRelationshipKeyPathsForPrefetching:keyPaths];

另外,您是否已验证关系已正确插入数据库?