我正在尝试使用 NSExpression 获取核心数据。所有获取请求都将访问对象“组织”,以便保持不变。但是我需要从这个对象访问关系,这就是我遇到问题的地方。
因此,例如,如果我想访问人口对象上的南属性,我可以执行以下操作: organization.population.south
但是,如果我尝试按如下方式创建 NSExpression:
NSExpressionDescription *aveExDescr = [[NSExpressionDescription alloc] init];
[aveExDescr setName:@"myAverage"];
NSExpression *expression = [NSExpression expressionForKeyPath:@"population.south"];
[aveExDescr setExpression:[NSExpression expressionForFunction:@"average:"
arguments:[NSArray arrayWithObject:
expression]]];
它会导致以下异常:在 toOne-only 键路径上请求聚合操作):population.south
我无法弄清楚为什么这不起作用。如果我直接请求“人口”对象并使用:
NSExpression *expression = [NSExpression expressionForKeyPath:@"south"];
它工作正常。
如果您需要更多信息或澄清,请告诉我。任何帮助将非常感激。