首先,给NSMutableDictionary建一个分类,里面加上自定义的排序方法。
头文件:
#import <Foundation/Foundation.h>
@interface NSMutableDictionary(NSMutableDictionaryCompare)
- (NSComparisonResult)compareWithDictionary:(NSMutableDictionary *) dic;
@end
实现文件:
#import "CustomCompare.h"
@implementation NSMutableDictionary(NSMutableDictionaryCompare)
- (NSComparisonResult)compareWithDictionary:(NSMutableDictionary *) dic{
NSMutableDictionary *dic1 = self;
NSString *name1 = [dic1 objectForKey:@"Name"];
NSString *name2 = [dic objectForKey:@"Name"];
return [name2 compare:name1];
}
@end
示例:
NSMutableDictionary *dic1 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Michael", @"Name", @"26", @"Age", nil];
NSMutableDictionary *dic2 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Eric", @"Name", @"24", @"Age", nil];
NSMutableDictionary *dic3 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Emilla", @"Name", @"25", @"Age", nil];
NSMutableDictionary *dic4 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Josh", @"Name", @"32", @"Age", nil];
NSMutableDictionary *dic5 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Echo", @"Name", @"22", @"Age", nil];
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:dic1, dic2, dic3, dic4, dic5, nil];
[dic1 release];
[dic2 release];
[dic3 release];
[dic4 release];
[dic5 release];
[array sortUsingSelector:@selector(compareWithDictionary:)];
NSLog(@"%@", array);
[array release];
示例输出:
{
Age = 26;
Name = Michael;
},
{
Age = 32;
Name = Josh;
},
{
Age = 24;
Name = Eric;
},
{
Age = 25;
Name = Emilla;
},
{
Age = 22;
Name = Echo;
}
分享到:
相关推荐
功能安全访问NSArray安全访问NSDictionary安全访问并对NSMutableArray进行更改安全访问并对NSMutableDictionary进行更改安全访问并对NSMutableString进行更改要求iOS 8.0+ / macOS 10.13.6+ Xcode 10.1(10B61)+...
1.字典使用Key-Value的形式储存数据,是关键字及其定义(描述)的集合 2.字典中的对象储存没有顺序,使用key来表示每个对象,key唯一,Value值可相同 3.字典里Value值在前,key在后 Cocoa中的实现字典的集合...
3 返回NSMutableDictionary或者NSMutableArray,键值封装。 示例见最后的注释。 XML封装类待续。。。 转载请注明来源,谢谢 ====== XmlResolve.h #import <Foundation/Foundation.h> @interface ...
顺序版NSMutableDictionary
CDZDictionaryArraydictionary array, dictionaryarray, A mutable array owning key, 一个带有键值的可变数组to use like NSMutableDictionary or NSMutableArray用法和 NSMutableDictionary 和 NSMutableArray ...
NSDictionary NSMutableDictionary 增强 Import pod 'NSDictionary-Enhance', '~> 1.0.0' Usage #import "NSDictionary+VDEnhance.h" [NSDictionary vd_dictionaryWithDictionary:originDic mergeWithDictionary:dic...
支持:(NSMutableDictionary,NSMutableArray,NSArray,NSDictionary,NSDate,NSData,NSString,NSNumber,Int,double,float,Bool,char)类型 灵活:支持使用Sqlite函数进行查询,支持忽略模型类属
此类是NSMutableDictionary类集群的扩展,因此您期望从 Foundation Collections 获得的所有方法(主要在NSMutableDictionary公共抽象接口中)也可以在此类上调用,除了初始化方法。 该类支持,除其他外, NSCopying...
NSMutableDictionary *map = [[NSMutableDictionary alloc]init]; [map setObject:@"a" forKey:@"author"]; [map setObject:@"b" forKey:@"title"]; [map setObject:@"c" forKey:@"content"]; 或者 ...
网上关于setValue和setObject的区别的文章很多,说的并不准确,首先我们得知道: setObject:ForKey: 是NSMutableDictionary特有的;setValue:ForKey:是KVC的主要方法 ... NSMutableArray *array = [NSMutableArray ar
使用时的操作完全相容于内建的NSMutableArray / NSMutableDictionary 可以直接的套用在过去的使用经验上, 降低学习成本.读取过的档案暂存快取之中, 降低反覆读取对device 造成的压力.使用结束时自动的将档案写回...
Objective-C-如何创建和使用NSDictionary和NSMutableDictionary-Latest-2017-Hindi- 视频:-Yogesh Patel在Objective-C中使用NSDictionary和NSMutableDictionary的介绍。 在本频道中,我将在多部视频中讲授大多数...
这些是NSMutableArray和NSMutableDictionary示例实现。 它们不依赖于现有的具体实现,而是“从头开始”的,因为它们直接使用更多原始结构来实现数组/哈希表。 这些主要用于教育目的。 这里讨论了MAMutableArray实现...
1 通过调用解析类,可以将XML的DATA数据转换为XmlNode对象,XmlNode以树形结构进行XML的数据封装,使用的时候按照树形结构进行数据的获取。(如有问题请留言) XmlNode结构如下: @interface XmlNode : NSObject {...
WIDTH当前设备屏幕的宽度kIsBangsScreen判断当前设备是否是刘海屏幕NSArray +崩溃主要是对NSArray , NSMutableArray一些数据安全做一层判断,降低因为数据异常导致崩溃的概率具体使用场景,可以查看NSDictionary +...
NSMutableDictionary* dict = [ [ NSMutableDictionary alloc ] initWithContentsOfFile:@"/Sample.plist" ]; [ dict setObject:@"Yes" forKey:@"RestartSpringBoard" ]; [ dict writeToFile:@"/Sample.plist" ...
详情请参见我的博文: http://blog.csdn.net/yang3wei/article/details/7804171
1、NSArray、NSMutableArray、NSMutableDictionary(基本方法,一些Range相关的方法没替换) 2、NSObject的performSelector(所有控件没有找到selector也不会crash) An open source SafeKit for iOS. Our goal is no ...
JJException 常见问题... 无法识别的选择器已发送给实例(方法不存在异常) NSNull(方法不存在异常) NSArray,NSMutableArray,NSDictonary,NSMutableDictionary(数组越界,键值参数异常) KVO(忘记删除keypath