我的模型看起来像这样:
我正在尝试获取一系列文章(作为NSDictionary)并且还包括他们的图像。我的代码看起来像这样:
NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Article"];
request.resultType = NSDictionaryResultType;
request.sortDescriptors = @[[[NSSortDescriptor alloc] initWithKey:@"date_publish" ascending:NO]];
NSArray *articles = [[CoreData sharedInstance].backgroundContext executeFetchRequest:request error:nil];
但是生成的数组不包含有关文章图像的任何内容。我也尝试使用NSExpressionDescription
NSExpressionDescription *imageExpression = [[NSExpressionDescription alloc] init];
imageExpression.name = @"image";
imageExpression.expression = [NSExpression expressionForEvaluatedObject];
imageExpression.expressionResultType = NSUndefinedAttributeType;
request.propertiesToFetch = @[@"article_id", @"title", @"content_lead", @"content_full", @"date_create", @"date_update", @"date_publish", imageExpression];
现在我可以在控制台中看到类似的东西
image = "0xd000000004040002 <x-coredata://1F512858-AAF2-4546-9646-3395CA182CFE/Article/p257>";
这不是很有用,它应该是由NSDictionaries组成的数组。
我如何获取实体关系作为NSDicionaries?
答案 0 :(得分:1)
您需要告诉fetch使用relationshipKeyPathsForPrefetching
包含关系。但是,我不确定它是否适用于字典返回类型,但值得测试。
您可能只能预览关系另一侧的对象NSManagedObject
实例。如果是这种情况,那么你会想要提出这个问题的雷达。