创建包含遍历关系的NSExpression

时间:2014-09-03 09:04:17

标签: ios core-data nsexpression

我正在尝试使用NSExpression进行核心数据提取。所有获取请求都将访问对象“组织”,以便保持不变。但是我需要从这个对象访问关系,这就是我遇到问题的地方。

例如,如果我想访问population对象的south属性,我可以执行以下操作: 的 organisation.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的密钥路径上请求集合操作):population.south

我无法理解为什么这不起作用。如果我直接请求'Population'对象并使用:

NSExpression *expression = [NSExpression expressionForKeyPath:@"south"];

它工作正常。

如果您需要进一步的信息或说明,请告知我们。任何帮助将不胜感激。

0 个答案:

没有答案