2

我的核心数据模型有一个Note与实体有一对多关系的实体,Link可以通过links.Note

我正在尝试获取linksCore Data 中每个注释的属性计数。为此,我按照下面链接中的示例进行操作,但得到了意想不到的结果。 在 Core Data 中执行计算的链式表达式

以下是我配置获取请求和相关表达式描述的方式:

// Create the expression description that should return the link count for each note.
NSExpression *linksExpression = [NSExpression expressionForKeyPath:@"links"];
NSExpression *countExpression = [NSExpression expressionForFunction:@"count:" arguments:@[linksExpression]];
NSExpressionDescription *linkCountExpressionDescription = [[NSExpressionDescription alloc] init];
linkCountExpressionDescription.name = @"linkCount";
linkCountExpressionDescription.expression = countExpression;
linkCountExpressionDescription.expressionResultType = NSInteger32AttributeType;

// Execute a fetch request that should return an array of dictionaries, each with a single "linkCount" key.
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Note"];
fetchRequest.resultType = NSDictionaryResultType;
fetchRequest.propertiesToFetch = @[linkCountExpressionDescription];
NSArray *countsArray = [self.managedObjectContext executeFetchRequest:fetchRequest error:nil];

我正在使用的 SQLite 存储包含 1000 个注释,因此我希望得到一个包含 1000 个字典的数组,每个字典都包含一个LinkCount键及其links关系的计数。相反,我得到一个字典,它给了我所有链接的总数。

我应该做些什么来获得每个笔记的链接计数?

4

0 回答 0