iOS常见遍历方法汇总
一。for循环
NSArray *iosArray = @[@"L", @"O", @"V", @"E", @"I", @"U", @"T"];
for (int i = 0; i < iosArray.count; i++) {
//处理数组中数据
NSLog(@"%@", iosArray[i]);
}
二。快速遍历(for...in)
NSArray *iosArray = @[@"L", @"O", @"V", @"E", @"I", @"U", @"T"];
for (NSString *obj in iosArray) {
//处理数组中的数据
NSLog(@"%@", obj);
}
三。NSEnumerator(NSEnumerator是一个抽象的基类)
NSArray *iosArray = @[@"L", @"O", @"V", @"E", @"I", @"U", @"T"];
NSMutableArray *Array = [NSMutableArray arrayWithArray:iosArray];
//并发遍历
[Array enumerateObjectsWithOptions:NSEnumerationConcurrent usingBlock:^(NSString *obj, NSUInteger idx, BOOL * _Nonnull stop) {
obj = [NSString stringWithFormat:@"_%@", obj];
[Array replaceObjectAtIndex:idx withObject:obj];
NSLog(@"%@", obj);
if ([obj isEqualToString:@"_I"]) {
*stop = YES;
}
}];
// 正向遍历
[iosArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSLog(@"----%@", obj);
if ([obj isEqualToString:@"E"]) {
*stop = YES;
}
}];
// 反向遍历
[iosArray enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(NSString *obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSLog(@"%@", obj);
if ([obj isEqualToString:@"E"]) {
*stop = YES;
}
}];
最新文章
- CSS盒子模型元素实际宽度的计算
- 多态(RAW)
- 推荐系统(协同过滤,slope one)
- Linux nohup 程序后台运行
- MySQL如何关联查询
- 360[警告]跨站脚本攻击漏洞/java web利用Filter防止XSS/Spring MVC防止XSS攻击
- angular-input
- uploadfile上传文件时ie浏览器无法弹出窗口
- js到处excel
- eclipse使用快捷键
- 修改数据库中group_concat的返回结果的长度限制
- Java的位运算符实例——与(&;)、非(~)、或(|)、异或(^)
- 单元测试时候使用[ClassInitialize]会该方法必须是静态的公共方法,不返回值并且应采用一个TestContext类型的参数报错的解决办法
- jQuery实现页面元素智能定位
- C#入门经典(第五版)学习笔记(四)
- RemoteViews的内部机制
- IDEA+PHP+XDebug调试配置
- C++Primer学习——各种运算符
- python:unittest之discover()方法批量执行用例
- Bootstrap如何禁止响应式布局 不适配
热门文章
- 基于Koa2+mongoDB的后端博客框架
- 4. Eclipse集成Git
- 盘点腾讯Linux、 C++后台开发面试题,做好充足准备,不怕被Pass
- Android动画系列之属性动画
- GoFrame 模板引擎对变量转义输出- XSS 漏洞
- B. Irreducible Anagrams【CF 1290B】
- 深度优先遍历&;广度优先遍历
- 第15.18节 PyQt(Python+Qt)入门学习:Model/View架构中视图Item Views父类详解
- Proxy:简单小巧又强大好用的代理系统
- CSS基础-边框