valueForKeyPath: @@max.self возвращает ноль для iOS 9.3.5?

Я пытаюсь узнать максимальное значение из массива, используя @"@max.self", но он возвращает nil, когда я пытаюсь запустить его на устройстве iOS 9.3.5, для более высокой версии он работает правильно и возвращает правильное значение.

NSNumber *maxOfBarGraphValues = [arrayOfBarGraphValues valueForKeyPath:@"@max.self"];

 NSLog(@"%@",[[arrayOfBarGraphValues valueForKeyPath: @"@max.self"]floatValue] );

Ниже я прикрепляю вывод оператора NSLog и значения arrayOfBarGraphValues из консоли.

Printing description of self->arrayOfBarGraphValues: <__NSArrayM 0x16e1ffc0>
( 
5,
4,
7,
7,
6,
6,
7,
7,
7,
7,
7,
7,
7 
)

(lldb) po maxOfBarGraphValues  
nil

person Karan Bhatia    schedule 02.11.2017    source источник
comment
Можете ли вы показать мне линию, которую вы создаете arrayOfBarGraphValues?   -  person trungduc    schedule 02.11.2017
comment
@property (неатомарное, слабое) NSArray *arrayOfBarGraphValues;   -  person Karan Bhatia    schedule 02.11.2017
comment
Я имею в виду строку, которую вы присваиваете arrayOfBarGraphValues @Karan Bhatia   -  person trungduc    schedule 02.11.2017
comment
извините, я пытался опубликовать код!   -  person Karan Bhatia    schedule 02.11.2017
comment
Без понятия с вашим комментарием.   -  person trungduc    schedule 02.11.2017
comment
каков тип элементов в вашем arrayOfBarGraphValues?   -  person holex    schedule 02.11.2017
comment
это NSMutableArray   -  person Karan Bhatia    schedule 02.11.2017
comment
@holex, спустись, парень ;) . @KaranBhatia, какой тип чисел в вашем массиве? NSNumber, NSString или что-то еще.   -  person trungduc    schedule 02.11.2017
comment
NSNumber @trungduc   -  person Karan Bhatia    schedule 02.11.2017
comment
но когда я пытаюсь напечатать [arrayOfBarGraphValues ​​valueForKeyPath:@@max.self], у него есть значение.   -  person Karan Bhatia    schedule 02.11.2017
comment
@KaranBhatia, что это за значение?   -  person trungduc    schedule 02.11.2017


Ответы (1)


Следуйте этому коду, надеюсь, он будет вам полезен.

NSArray *  arrayOfBarGraphValues = @[@5, @4, @7 ,@7 , @6, @6  ,@7  ,@7  ,@7  ,@7  ,@7  ,@7  ,@7 ];
int maxOfBarGraphValues = [[arrayOfBarGraphValues valueForKeyPath: @"@max.self"] intValue];
NSLog(@" MaximumValue Of BarGraph  = %d", maxOfBarGraphValues);

Output:- // Maximum = 7
person BuLB JoBs    schedule 03.11.2017