OC中数组的四种遍历方式
来源:互联网 发布:关键词搜索软件 编辑:程序博客网 时间:2024/05/21 10:50
针对OC中数组遍历的几种方式我们来通过下面一个简单的程序来进行说明:
#import<Foundation/Foundation.h>
int main(int argc,constchar * argv[])
{
@autoreleasepool
{
NSString *t1 = @"Hello";
NSString *t2 = @"welcome";
NSString *t3 = @"everyone";
//创建一个可变数组将这三个对象添加到数组中去;
NSMutableArray * arr1 = [NSMutableArrayarrayWithCapacity:10];
[arr1 addObject:t1];
[arr1 addObject:t2];
[arr1 addObject:t3];
//第一种方式:就像C语言中的for循环一样直接循环遍历;
for(int i =0; i < [arr1 count]; i++)
{
NSLog(@"%@", [arr1objectAtIndex:i]);
}
//第二种方式:这种方式相对简单,其中object是一个id类型的对象;
for(id objectin arr1)
{
NSLog(@"%@", object);
}
//第三种方式:通过实现一个迭代器,相当于利用枚举进行遍历;
id elem;
NSEnumerator *en = [arr1 objectEnumerator];
while(elem = [en nextObject])
{
NSLog(@"%@", elem);
}
//第四种方式:通过BLOCK块进行遍历,是OC中自带的一种方法;
[arr1 enumerateObjectsUsingBlock:^(id obj,NSUInteger index, BOOL *stop)
{
NSLog(@"%d is %@", index, obj);
*stop = NO; //控制循环;
}];
}
return 0;
}
程序运行结果如下:
2015-08-19 16:39:20.889 TestArray[2283:303] Hello
2015-08-19 16:39:20.899 TestArray[2283:303] welcome
2015-08-19 16:39:20.900 TestArray[2283:303] everyone
2015-08-19 16:39:20.901 TestArray[2283:303] Hello
2015-08-19 16:39:20.902 TestArray[2283:303] welcome
2015-08-19 16:39:20.903 TestArray[2283:303] everyone
2015-08-19 16:39:20.949 TestArray[2283:303] Hello
2015-08-19 16:39:20.951 TestArray[2283:303] welcome
2015-08-19 16:39:20.952 TestArray[2283:303] everyone
2015-08-19 16:39:20.954 TestArray[2283:303] 0 is Hello
2015-08-19 16:39:20.956 TestArray[2283:303] 1 is welcome
2015-08-19 16:39:20.957 TestArray[2283:303] 2 is everyone
- oc中数组的四种遍历方式及比较
- OC中数组的四种遍历方式
- oc数组的四种遍历方法
- php中数组遍历的四种方式
- OC数组的四种的遍历方法
- OC数组 NSArray的4种遍历方式
- OC中数组、字典的遍历的三种方法
- 黑马程序员---OC 中数组遍历的三种方法
- java中map遍历的四种遍历方式
- OC中不可变数组的遍历
- OC数组的四大遍历方式和分析。
- oc类的创建与使用与数组的四种遍历示例
- OC-NSArray数组的三种遍历方式和排序方法
- Java中对Map的四种遍历方式
- iOS中Collection遍历的四种方式
- android中 map遍历的四种方式
- Android中遍历Map的四种方式
- Lua_table中常用的四种遍历方式
- [leetcode][string] Longest Palindromic Substring
- CCF 201312-2ISBN号码
- IOS Frame 和 Bounds的区别(自己的理解以便以后使用)
- Android SDK Manager不能显示所有包的解决办法
- 欢迎使用CSDN-markdown编辑器
- OC中数组的四种遍历方式
- 线程初体验之跑马灯
- 二维数组操作
- 黑马程序员———C语言———【strlen()和sizeof()的区别、排序、算法】
- 多重背包 (n种物品,每种m个)
- 判断json的长度
- bootcmd和bootargs参数
- JS创建对象的几种方式
- python 转化object 到json 然后存入redis以及从redis读取