集合运算符valueForKeyPath返回nil

时间:2013-11-12 11:13:54

标签: ios objective-c kvc

下面是我用来测试集合运算符的示例代码:

NSMutableSet *set ;

sampleClass *obj1 = [[sampleClass alloc]init];

sampleClass *obj2 = [[sampleClass alloc]init];
sampleClass *obj3 = [[sampleClass alloc]init];
sampleClass *obj4 = [[sampleClass alloc]init];
sampleClass *obj5 = [[sampleClass alloc]init];


obj1.age = 30 ;
obj2.age = 30 ;
obj3.age = 30 ;
obj4.age = 30 ;
obj5.age = 30 ;


[set addObject:obj1];
[set addObject:obj2];
[set addObject:obj3];
[set addObject:obj4];
[set addObject:obj5];

NSNumber *transactionAverage = [set valueForKeyPath:@"@sum.age"];

transactionAverage总是返回零。看起来像我身边的小错误,但无法识别。

1 个答案:

答案 0 :(得分:0)

这是因为您没有使用以下内容分配NSMutableSet对象:

NSMutableSet *set = [[NSMutableSet alloc] init];

因此,你在集合中所做的一切都会被忽略。