关于几个Objective-C数组的块语法(遍历, 升序, 降序, 打乱数组)
2015-09-07 20:40
429 查看
// 参数:对象,索引,是否中断
//数组的块方法遍历的效率比for in高
1.
数组遍历
[array enumerateObjectsUsingBlock:^(NSNumber *obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%@", obj);
// idx == 1退出遍历
if (idx == 1) {
*stop = YES;
}
}];
2. 数组排序(升序/降序)
array = [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *num1, NSNumber *num2) {
// return [num1 compare:num2]; // 升序
return [num2 compare:num1]; // 降序
int seed = arc4random_uniform(2);//
打乱数组
return seed ? [obj1 compare:obj2] : [obj2 compare:obj1];
}];
//数组的块方法遍历的效率比for in高
1.
数组遍历
[array enumerateObjectsUsingBlock:^(NSNumber *obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%@", obj);
// idx == 1退出遍历
if (idx == 1) {
*stop = YES;
}
}];
2. 数组排序(升序/降序)
array = [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *num1, NSNumber *num2) {
// return [num1 compare:num2]; // 升序
return [num2 compare:num1]; // 降序
int seed = arc4random_uniform(2);//
打乱数组
return seed ? [obj1 compare:obj2] : [obj2 compare:obj1];
}];
相关文章推荐
- JSONArray和JSONObject对象之间的操作
- objective-c数据类型
- Objective-C基础知识之(一):类、对象、创建对象、对象操作
- Three.js Projector and Ray objects
- AttributeError: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'
- iOS学习篇章1--Objective-C基础语法
- [Object-C] 关于UIView的阴影
- ObjectiveC开发教程--如何判断字符串是否为空的方法
- [iOS]Objective-C 第一节课
- spring jack 使用自定义的objectMapper。或者在xml配置objectMapper参数
- objective-c中的协议和类别
- 黑马程序员——Objective-C Foundation框架中的NSDirctionary类以及NSMutableDirctionary类
- 黑马程序员——Objective-C Foundation框架中的NSMutableString对象
- 黑马程序员——Objective-C Foundation框架中的NSString对象
- 黑马程序员——Objective-C Foundation框架中的NSObject对象
- Elasticsearch中的根对象(Root Object)
- 黑马程序员——Objective-C之特殊语法总结
- objective-c 中随机数的用法 (3种:arc4random() 、random()、CCRANDOM_0_1() )
- [__NSCFString countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x17deba00
- Objective-C中的@property和@synthesize用法