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"
запрашивает (int) от каждого NSNumber, но мы выводим строку% @ в журнале. Если я пытаюсь вывести десятичное число% d, я получаю число, которое, возможно, является указателем на что-то. Может кто-нибудь объяснить, почему целые числа становятся NSNumbers, когда я вызываю оператор @avg?