热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

了解iPhone开发中关于NSMutableArray排序实例

了解iPhone开发中关于NSMutableArray排序实例是本文要介绍的内容

了解iPhone开发中关于NSMutableArray排序实例是本文要介绍的内容,主要是来了解NSMutableArray排序操作,内容不多,主要是基于代码实现内容,来看详细代码。

  1. - (NSArray *)sortedArrayUsingSelector:(SEL)comparator  
  2.  
  3. Parameters  
  4. comparator  
  5.  
  6. A selector that identifies the method to use to compare two elements at a time. The method should returnNSOrderedAscending 
  7. if the receiver is smaller than the argument, NSOrderedDescending if the receiver is larger than the argument,
  8.  and NSOrderedSame if they are equal  
  9. NSArray *sortedArray =  
  10.  
  11. [anArray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];  
  12. @property (nonatomic, readwrite, retain) NSMutableArray *parameters;  
  13. [self.parameters sortUsingSelector:@selector(compare:)];  
  14. #pragma mark -  
  15.  
  16. - (NSComparisonResult)compare:(id)inObject {  
  17.      NSComparisonResult result = [self.name compare:[(MPURLRequestParameter *)inObject name]];  
  18.      if (result == NSOrderedSame) {  
  19.  result = [self.value compare:[(MPURLRequestParameter *)inObject value]];  
  20.      }  
  21.       return result;  
  22. }  
  23.  
  24. sortedArrayUsingFunction:适合基本类型(支持compare方法)  
  25.  
  26. #pragma mark SORT METHOTDS  
  27. NSInteger sortObjectsByLatestTime(id obj1, id obj2, void *context)  
  28. {  
  29.  NSDate* d1 = [(MessageGroup*)obj1 latestTime];  
  30.  NSDate* d2 = [(MessageGroup*)obj2 latestTime];   
  31.  //sort by desc  
  32.  return [d2 compare:d1];  
  33. }  
  34. NSInteger dateSort(id obj1, id obj2, void *context)  
  35.  
  36. {  
  37.  NSDate* d1 = ((Inbox*)obj1).datetime;  
  38.  NSDate* d2 = ((Inbox*)obj2).datetime;  
  39.  return [d1 compare:d2];  
  40. }  
  41.  
  42. -(NSArray*)sortedMessages  
  43. {  
  44.  return [[groupMessages allValues] sortedArrayUsingFunction:sortObjectsByLatestTime context:NULL];  
  45. }  
  46.  
  47. sortUsingDescriptors:适合元素是dict类型,initWithKey既是dict key.  
  48.  
  49. NSMutableArray *regions = [NSMutableArray array];  
  50. NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];  
  51. NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];  
  52. [regions sortUsingDescriptors:sortDescriptors];  
  53. [sortDescriptor release]; 

小结:了解iPhone开发中关于NSMutableArray排序实例的内容介绍完了,希望通过本文的学习能对你有所帮助!


推荐阅读
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
author-avatar
潘怡安淑华寧生
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有