iOS开发——根据数组中的字典中的某一元素排序

  数组中的元素是字典,字典中的某一个元素,比如说姓名,现在需要按照姓名的首字母来排序,怎么搞?

  做法很简单,在字典中加一个元素,保存姓名的首字母,然后用下面的方法排序。

- (void)sortWifiList {

NSArray *resultArray = [myDataArray sortedArrayUsingFunction:compare context:NULL];

[myDataArray removeAllObjects];

[myDataArray addObjectsFromArray:resultArray];

}

NSComparisonResult compare(NSDictionary *firstDict, NSDictionary *secondDict, void *context) {

if ([[firstDict objectForKey:@"SSIDSortKey"] intValue] < [[secondDict objectForKey:@"SSIDSortKey"] intValue])

return NSOrderedAscending;

else if ([[firstDict objectForKey:@"SSIDSortKey"] intValue] > [[secondDict objectForKey:@"SSIDSortKey"] intValue])

return NSOrderedDescending;

else

return NSOrderedSame;

}

时间: 2024-11-05 21:53:58

iOS开发——根据数组中的字典中的某一元素排序的相关文章

iOS开发读取plist文件、iphone中plist文件的

在Xcode中建立一个iOS项目后,会自己产生一个.plist文件,点击时会看见它显示的是类似于excel表格: 但是,如果打开方式选择Source Code,你会看见它其实是一个xml文件. 我们会做一个小例子,在这个例子中我们自己建立一个plist文件并填入数据,然后运行时读取这个plist文件,并将数据填写在界面上. 首先要知道读取plist文件的方法,一般来说,使用代码 NSString *plistPath = [[NSBundle mainBundle] pathForResourc

iOS开发系列文章(持续转载中……) 感谢作者,直接连接到作者文章的

C语言 iOS开发系列--C语言之基础知识 iOS开发系列--C语言之数组和字符串 iOS开发系列--C语言之指针 iOS开发系列--C语言之预处理 iOS开发系列--C语言之存储方式和作用域 iOS开发系列--C语言之构造类型 Objective-C iOS开发系列-Objective-C之基础概览 iOS开发系列--Objective-C之类和对象 iOS开发系列--Objective-C之协议.代码块.分类 iOS开发系列-Objective-C之内存管理 iOS开发系列--Objecti

iOS开发小技巧--富文本字典集合中的Key都是OC中的常量字符串

iOS开发-从16进制颜色中获取UIColor

目前iOS中设置UIColor只能使用其枚举值.RGB等方法,不能直接将常用的16进制颜色值直接转为UIColor对象,所以写了点代码,将16进制颜色值转为UIColor. 代码如下, //头文件#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface TextServcie : NSObject +(UIColor *) getColorFromHEX:(NSString *)hex; @end .m

iOS开发之获取一段字符串中的中文字和中文字符

#pragma mark -获取一段字符串中的中文字 + (NSArray *)getAStringOfChineseWord:(NSString *)string { if (string == nil || [string isEqual:@""]) { return nil; } NSMutableArray *arr = [[NSMutableArray alloc]init]; for (int i=0; i<[string length]; i++) { int a

IOS开发基础篇 --添加的约束中所有的枚举值

/** NSLayoutConstraint类中的枚举值 *  代码添加一条约束      *      * @param Item:view1 :要约束的控件      * @param attribute:attr1 :约束的类型(做怎样的约束)      * @param relatedBy:relation :与参照控件之间的关系      * @param toItem:view2 :参照的控件      * @param attribute:attr2 :约束的类型(做怎样的约束)

ios开发-------将一个tablevirew塞进callout中

默认callout的只有一个title和detailtextlabel,所显示的信息量实在太小,虽然在地图中弹出一个小框显示一点关键信息很合理,但是有些客户需要框变大一点,信息量多一个那也是没有办法的. 效果: 我采取的方法是直接将一个tableview塞进去,但是tableView根本不能直接塞进calliout中,但可以将一个view塞进callout,我用的方法就是将tableview加到一个view上,然后在塞进callout中,上代码: self.mapView.callout.acc

iOS开发 多线程(一)GCD中dispatch队列知识

GCD编程的核心就是dispatch队列,dispatch block的执行最终都会放进某个队列中去进行,它类似NSOperationQueue但更复杂也更强大,并且可以嵌套使用.所以说,结合block实现的GCD,把函数闭包(Closure)的特性发挥得淋漓尽致. dispatch队列的生成可以有这几种方式: 1. dispatch_queue_t queue = dispatch_queue_create("com.dispatch.serial", DISPATCH_QUEUE_

【iOS开发-模拟器】Xcode6以后mac中iOS模拟器安装路径以及程序沙箱路径

模拟器安装位置 /Users/TTF/Library/Developer/CoreSimulator/Devices/模拟器标识(一些字符串) 后面那些模拟器标识就是一些字符串代表每一个不同的iOS设备 比如D3E79030-5DB9-4E5B-8E46-5C3B100A4C1C就代表这是iPhone4S,点击进去查看device.plist这个文件就能知道. iOS应用程序资源文件位置 /Users/TTF/Library/Developer/CoreSimulator/Devices/模拟器