arr = [[NSMutableArray alloc]init];
[arr addObject:[NSNumber numberWithInt:4]];
[arr addObject:[NSNumber numberWithInt:45]];
[arr addObject:[NSNumber numberWithInt:23]];
[arr addObject:[NSNumber numberWithInt:12]];
NSLog(@"The avg = %@", [arr valueForKeyPath:@"@avg.intValue"]);
此代码工作正常,但为什么? valueForKeyPath:@"@avg.intValue"
正在从每个NSNumber请求(int),但我们正在日志中输出%@字符串。如果我尝试输出一个十进制%d我得到一个数字,可能是一些指针。有人可以解释为什么当我调用@avg操作符时整数变成NSNumbers?客观c关键路径运营商@ avg,@ max