2014-10-01 189 views
-5

如何从NSMutableArray获取最大值。值是作为存储在NSString的阵列如下面从NSMutableArray获取最大值

for(int counter=0; counter<[datesArray count];counter++) 
{ 
    glass = [NSString stringWithFormat:@"%f",[[dbhandler todayData:currentDate] floatValue]]; 
    [graphGlassesArray addObject:glass]; 
} 

阵列名称是graphGlassesArray

+0

您是否尝试循环并将迄今为止遇到的最大值存储在变量中? – APerson 2014-10-01 12:56:16

回答

4

尝试可以使用从阵列获取最大价值:通过排序可变数组

NSSortDescriptor *desc = [[NSSortDescriptor alloc] initWithKey:nil ascending:NO selector:@selector(localizedCompare:)]; 
NSString *maxValue = [[graphGlassesArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:desc]] objectAtIndex:0]; 
[desc release]; 
+0

你只比我快了一秒......我并没有发布这个想法。 – holex 2014-10-01 13:02:31

0
float max = 0.f; 
for(int counter=0; counter<[datesArray count];counter++) 
{ 
    glass = [NSString stringWithFormat:@"%f",[[dbhandler todayData:currentDate] floatValue]]; 
    [graphGlassesArray addObject:glass]; 
    if(max < [[dbhandler todayData:currentDate] floatValue]) { 
     max = [[dbhandler todayData:currentDate] floatValue]; 
    } 
} 

与此

1

你也应该尽量

NSNumber* max = [graphGlassesArray valueForKeyPath:@"max.self"]; 
float maxFloat = [max floatValue]