我正在尝试使用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"];
它工作正常。
如果您需要进一步的信息或说明,请告知我们。任何帮助将不胜感激。