我们以数组的排序为例(也许NSSortDescriptor最常用的地方是NSFetchedResultsController中,但用法大致相同)。
假设要对userArray数组中的对象进行排序,而数组中含有多个User对象(User继承于NSManagedObject),User中有一个属性叫做country。
1. NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"country" ascending:YES];
2. [userArray sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
这样,就可以根据每一个User的country来进行升序或降序的排列,sortUsingDescriptors的参数是一个数组,也就是说可以使用多个排序参数。
再比如说,User有一个关系叫做image,image有个属性叫做timestamp,如果要根据User的image关系的timestamp排序,仅需把上面代码中的country改为,image.timestamp。即
[plain]
1. NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"image.timestamp" ascending:YES];
2. [userArray sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
分享到:
相关推荐
本教程将深入探讨如何在iPhone应用中使用UITableView进行排序、搜索以及通过Interface Builder进行创建。 首先,我们来了解一下UITableView的基本概念。UITableView是一个视图控件,用于显示一列或多列数据,每个...
- 使用指定的选择器对数组进行排序,通常选择器应该是某个对象实例方法的名称,该方法应该返回两个对象之间的比较结果。 8. **- (id)lastObject;** - 返回数组中的最后一个对象。如果数组为空,则返回`nil`。 ##...
总的来说,NSArray和NSMutableArray提供了丰富的操作方法,如添加、删除、查询、排序等,使得在iOS开发中处理数据变得简单。在选择使用哪种类型时,主要考虑数组是否需要在程序运行过程中被修改。如果不需要修改,应...
这份压缩包提供了关于iPhone开发中一些常用类型的参考资料,涵盖了苹果官方文档的关键信息。以下将详细阐述这些文件所涉及的知识点: 1. **RemoteNotificationsPG.pdf**:远程通知(Remote Notifications)是iOS...
以上概述了《IPhone中文开发文档》中提到的关键知识点,这些知识点覆盖了从Objective-C语言的基础到高级的Cocoa框架技术,对于希望从事iPhone开发的人来说是一份非常宝贵的资源。通过对这些内容的学习,开发者不仅...
本书面向新的iPhone 开发人员,他们马上要开发实际项目,但面对着一个全新的SDK。虽然每位程 序员创建表格的目标和经验并不相同,但大多数人都需要在其开发工作中解决类似的任务:如何构建表格, 如何创建安全的密钥...
本书面向新的iPhone 开发人员,他们马上要开发实际项目,但面对着一个全新的SDK。虽然每位程 序员创建表格的目标和经验并不相同,但大多数人都需要在其开发工作中解决类似的任务:如何构建表格, 如何创建安全的密钥...
本书面向新的iPhone 开发人员,他们马上要开发实际项目,但面对着一个全新的SDK。虽然每位程 序员创建表格的目标和经验并不相同,但大多数人都需要在其开发工作中解决类似的任务:如何构建表格, 如何创建安全的密钥...
本教程将深入探讨如何在iPhone开发中实现UITableView的多行编辑控制,这对于初学者来说是一个非常实用的技能。在iOS 5.0及以上版本以及使用SDK 6.0及以上时,可以充分利用这个特性来提升用户体验。 UITableView不仅...
从给定的文件标题“iPhone存储用法汇总”和描述“PDF中包含有iOS数据的存储类型详细介绍”,我们可以深入探讨iOS开发中常见的数据存储技术,特别是对于基础数据类型的使用,如字符串、数组和字典。以下是对这些核心...
这个项目“IOS通讯录读取并按照拼音首字母排序”旨在实现这样一个功能:从用户的iPhone通讯录中获取联系人信息,并根据联系人的名字拼音的首字母进行排序,为后续添加搜索功能打下基础。以下是对这个知识点的详细...
6. **数据结构与算法**:同行同列消除机制可能涉及到数组操作、查找和排序算法。 7. **内存管理**:iOS开发需要遵循ARC(Automatic Reference Counting),理解如何有效管理内存以避免内存泄漏。 8. **游戏状态...
在iOS开发领域,构建一个应用...以上就是"iPhone城市排行"项目中涉及的主要iOS开发知识点。通过这个项目,开发者可以锻炼到数据处理、界面设计、网络通信等多个方面的技能,同时也能提高用户体验和应用性能的优化能力。
5. **JavaScript编程**:`sort.js`可能是用于排序联系人列表的脚本,根据首字母的顺序进行排列,确保用户可以按字母顺序浏览联系人。这可能涉及到JavaScript的数组操作和字符串比较函数。 6. **HTML结构**:`index....
在iOS开发中,创建一个联系人Demo涉及到许多关键知识点,主要集中在用户界面(UI)设计、数据结构、排序算法以及UITableView的使用上。这个Demo旨在展示如何构建一个类似iPhone通讯录的应用,允许用户查看和浏览联系...
6. **实现多选逻辑**:使用数组来保存选中的PHAsset,同时在每个单元格上添加可交互的选中状态,确保用户能清楚地看到已选择的图片。 7. **处理性能优化**:在大量图片加载时,要特别注意内存管理。可以使用缩略图...
1. **汉字排序**:在iOS中,我们可以使用`NSComparator`或`NSString`的`compare:`方法对汉字进行排序。由于汉字的Unicode编码顺序并不代表其字典顺序,因此需要特别注意。苹果提供了一个内置的排序规则`...