valueForKeyPath:@“@ max.self”为iOS 9.3.5返回nil?

时间:2017-11-02 09:46:14

标签: ios objective-c iphone ios9.3

我试图使用@"@max.self"从数组中找出最大值,但是当我尝试在iOS 9.3.5设备上运行它时返回nil,对于更高版本它正常工作并返回正确的值

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

1 个答案:

答案 0 :(得分:0)

按照此代码希望对您有所帮助。

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