1

我正在尝试使用 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"];

它工作正常。

如果您需要更多信息或澄清,请告诉我。任何帮助将非常感激。

4

0 回答 0