IOS中取乱序数据最大值、最小值方法

2016-01-12 / 23:15:58

第一种方法也是常规方法,就是设定一个默认值作为最大值,循环取比这个最大值还大的值并赋值给默认最大值,这样循环完成后这个默认最大值变量里面的值就是最大值了:

    float maxValue = 0;
    for (int k = 0; k < [valuesArr count]; k++) {
        NSArray * tmpArr = [[valuesArr objectAtIndex:k] objectForKey:kBaiduValues];
        for (int i = 0; i < tmpArr.count; i++) {
            if ([[tmpArr objectAtIndex:i] respondsToSelector:@selector(floatValue)]) {
                if ([[tmpArr objectAtIndex:i] floatValue] > maxValue) {
                    maxValue = [[tmpArr objectAtIndex:i] floatValue];
                }
            }
        }
    }
//第二种方法是IOS已经给我们封装好的方法,那就是使用NSArray的sortedArrayUsingComparator方法:

 1 NSArray *values = array;
 2 NSArray *arraya = [values sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
 3         if ([obj1 floatValue] > [obj2 floatValue] ) {
 4             return NSOrderedDescending;
 5         }
 6         if ([obj1 floatValue] < [obj2 floatValue] ) {
 7             return NSOrderedAscending;
 8         }
 9
10         return NSOrderedSame;
11     }];<p class="p1">float maxValue = [[arraya <span class="s1">lastObject</span>] <span class="s1">floatValue</span>];</p>
时间: 2024-10-13 15:14:05

IOS中取乱序数据最大值、最小值方法的相关文章

iOS中常用的四种数据持久化方法简介

iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults standardUserDefaults]就够用了 @interface User : NSObject <NSCoding>@property (nonatomic, assign) NSInteger userID;@property (nonatomic,

让ios中MKMapView的定位点不居中的方法

让ios中MKMapView的定位点不居中的方法 by 伍雪颖 构造一个coordinate: CLLocationCoordinate2D centerCoordanate; centerCoordanate.latitude = [userLocation coordinate].latitude - 0.0037; centerCoordanate.longitude = [userLocation coordinate].longitude; MKCoordinateRegion reg

IOS中UIWebView的UXSS漏洞及修复方法

做IOS开发的同学经常用到UIWebView,大多时候是加载外部地址,但是有一些时候也会用来加载本地的html文件. UIWebView加载外部地址的时候遵循了"同源"策略,而加载本地网页的时候却绕够了"同源"策略,导致可以访问系统任意路径. 这就是UIWebView中存在的UXSS漏洞.已知尚未修复该漏洞的App有:微盘.文件全能王.QQ阅读. 漏洞复现方式大体相似,现在微盘为例: 在PC上编辑一个网页,命名为test.html. 内容如下: <script

ios中iframe的scroll滚动事件替代方法

在公众号的开发中,遇到ios中iframe的scroll滚动事件失效,在此做下记录. 因为接口获取的数据必须放在iframe中展示,滚动到底部按钮变亮,如图: 代码如下: <!DOCTYPE html> <html> <head> <title>贷款合同</title> <% include ../include/header.html %> </head> <body style="background:

本篇对IOS中常用的5种数据持久化方法进行简单对比总结

 第1种:UserDefaults(iPhone开发[二十]数据持久化总结之第1篇-NSUserDefaults) 1)易用性很强 2)数据存储在.plist文件中 3)一般保存首选项信息.缓存数据等,适用存储较少量数据的情况 4)缺点:无法将自定义对象序列化到属性列表中 第2种:属性列表(iPhone开发[二十一]数据持久化总结之第2篇-属性文件(.plist)) 1)易用性较强 2)数据存储在.plist文件中 3)一般用于存储少量数据,也不适合操作处理大量数据 4)缺点:无法将自定义对象序

Trident内核中取验证码图片的几种方法

程序中用了IE的内核,想取出网站中的验证码图片,单独显示出来,调研了以下几路方法 1.枚举所有缓存文件,进行处理,找到想要的,核心代码 if (0)//这段代码可以枚举所有缓存资源,然后对应做处理 { LPINTERNET_CACHE_ENTRY_INFO lpCacheEntry = NULL; HANDLE hCacheDir = NULL; DWORD dwTrySize, dwEntrySize = 4096; DWORD dwError = ERROR_INSUFFICIENT_BUF

iOS中常见的 Crash 场景以及解决方法

1. 常见的 Crash 场景 访问了僵尸对象 访问了不存在的方法 数组越界 在定时器下一次回调前将定时器释放,会Crash 2.  关于BAD_ACCESS  出现的原因: 访问了野指针, 比如访问已经释放对象的成员变量或者发消息, 死循环等; 解决方法: 1.  重写对象的respondsToSelector 方法, 先找到出现 EXECBADACCESS 前访问的最后一个 object; 2. 设置Enable Zombie Objects; 3. 设置全局断点快速定位问题代码所在行,接收

iOS中UIImageView帧动画相关属性和方法

@property(nonatomic,copy)NSArray *animationImages; 需要播放的序列图片数组(里面都是UIImage对象,会按顺序显示里面的图片) @property(nonatomic)NSTimeInterval animationDuration; 帧动画的持续时间 @property(nonatomic)NSInteger animationRepeatCount; 帧动画的执行次数(默认是无限循环) - (void)startAnimating; 开始执

iOS 中的页面间传值的各种方法

1.通过属性传值 将A页面所拥有的信息通过属性传递到B页面使用,B页面定义了一个naviTitle属性,在A页面中直接通过属性赋值将A页面中的值传到B页面. #import <UIKit/UIKit.h> #import "DetailViewController.h" @interface RootViewController :UIViewController<ChangeDelegate> { UITextField *textField; } @end