NSArray 排序用法
来源:互联网 发布:nginx设置根目录 编辑:程序博客网 时间:2024/06/03 07:09
http://blog.sina.com.cn/s/blog_67d955460102v8wk.html
NSArray*array = [NSArrayarrayWithObjects:@"123",@"21",@"33",@"69",@"108",@"256",nil];
NSArray*resultArray = [array sortedArrayWithOptions:NSSortConcurrentusingComparator:^NSComparisonResult(idobj1, idobj2) {
intnu1 = [obj1 intValue];
intnu2 = [obj2 intValue];
if(nu1 > nu2) {
returnNSOrderedDescending;
}elseif (nu1 == nu2){
returnNSOrderedSame;
}else{
returnNSOrderedAscending;
}
}];
NSLog(@"%@",resultArray);
28、使用block 块遍历整个数组。这个block 需要三个参数,id obj 表示数组中的元素。
NSUInteger idx 标示元素的下标,
bool *stop 是一个bool类型的参数。 官方描述如下:
A reference to a Boolean value. The block can set the value to YES to stop further processing of the array.
The stop argument is an out-only argument. You should only ever set this Boolean to YES within the Block.
- (void)enumerateObjectsUsingBlo
例如:
NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"tom",@"test", nil];
[array enumerateObjectsUsingBlo
29、同上面的方法一项,区别在于,这里多添加了一个参数,用来标示 是从前向后遍历,还是从后往前遍历。
- (void)enumerateObjectsWithOpti
例如:
NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"tom",@"test", nil];
30、 同上面的方法一项,不过NSIndexSet 参数标示,根据下标取出的数组,这里真正在block 中遍历的数组,是根据NSindexSet 取到的子数组
- (void)enumerateObjectsAtIndexe
例如:
[array enumerateObjectsAtIndexe
31、 根据条件用来获取一个NSUIndex 对象,主要是根据条件进行数据遍历使用(测试用)
- (NSUInteger)indexOfObjectPassingTest
调用如下:
NSInteger index = [array indexOfObjectPassingTest
32、同上面的方法相同,却别在于,这里添加了一个参数,用来表示遍历是从前向后遍历还是从后遍历。
- (NSUInteger)indexOfObjectWithOptions
33、这个添加了参数NSIntexSet 参数,用来获取子数组,然后使用这个子数组进行遍历,处理数据
- (NSUInteger)indexOfObjectAtIndexes:(NSIndexSet *)s options:(NSEnumerationOptions)opts passingTest:(BOOL (^)(id obj, NSUInteger idx,BOOL *stop))predicate
31、 根据block 的处理获取一个NSIndexSet 对象。
- (NSIndexSet *)indexesOfObjectsPassingT
调用如下:
33 、 这个方法添加了参数,用来表示,是从前向后,遍历还是从后向前遍历
- (NSIndexSet *)indexesOfObjectsWithOpti
调用示例如下:
34、 添加参数NSIndexSet 用来获取子数组,使用子数组进行遍历
- (NSIndexSet *)indexesOfObjectsAtIndexe
35、对数组进行排序操作
- (NSArray *)sortedArrayUsingComparat
调用例子如下:
NSArray *te = [array sortedArrayUsingComparat
36、进行排序操作,NSSortOptions 排序的参数 用来表示是同时排序,还是稳定执行。
- (NSArray *)sortedArrayWithOptions:(NSSortOptions)opts usingComparator:(NSComparator)cmptr NS_AVAILABLE(10_6,4_0);
37、指定区域返回通过代码块方法的索引
typedef
NSBinarySearchingFirstEq
NSBinarySearchingLastEqu
NSBinarySearchingInserti
};
- (NSUInteger)indexOfObject:(id)obj inSortedRange:(NSRange)r options:(NSBinarySearchingOptions
- NSArray 排序用法
- NSArray 排序
- NSArray排序
- NSArray排序
- NSArray排序
- NSArray 排序
- NSArray 排序
- NSArray排序
- NSArray排序
- nsarray排序
- NSArray排序
- NSArray排序
- NSArray排序
- NSArray排序
- NSArray排序
- NSArray用法
- NSArray、NSMutableArray排序
- NSArray 的排序
- 继承猫狗案例
- Stack类
- 将String保存成文件
- 安卓注解那些事儿
- 黑板客爬虫闯关第二关
- NSArray 排序用法
- 高并发Web服务的演变:节约系统内存和CPU
- linux c 实现 http post的代码-1
- 猜数字小游戏
- 第三周-项目二
- js ajax 加载图片 img的简单方法
- [LeetCode]Count Primes
- 加密问题(良心干货)
- git submodule子模块