iOS 开发--NSMutableArray使用枚举方法
可变数组也可以使用枚举方法, 我们在这里提供了两种枚举方法, 一个是正序枚举, 一个是倒序枚举, 在正序枚举中, 元素的个数和顺序都是不可以修改的, 但是在倒序枚举中却可以修改, 这有些耐人寻味.
涉及的方法:
objectEnumerator: 正序枚举方法.
reverseObjectEnumerator: 倒序枚举方法.
下面我们来看看例子:
//使用了枚举法的可变数组
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {
@autoreleasepool {
NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"One", @"Tow", @"Three", nil];
//objectEnumetator是一个正序枚举法.
//在使用正序枚举法的时候, 元素个数和元素顺序不允许修改.
// NSEnumerator *enumerator = [array objectEnumerator];
// NSString *str;
// int i = 0;
// while (str = [enumerator nextObject]){
// [array removeLastObject];
// NSLog(@"%d", i);
// }
//
//reverseObjectEnumerator是一个逆序的枚举法.
//在逆序枚举法, 元素的个数和元素的顺序允许修改.
//PS:在逆序枚举法使用任何犯法去改变元素的个数或元素顺序都是可行的.
NSEnumerator *enumerator = [array reverseObjectEnumerator];
NSString *str;
while (str = [enumerator nextObject]) {
[array removeLastObject];
NSLog(@"%@", str);
}
//因为这里循环了3次, 每一次都会删除一个元素, 这样子就会导致输出来的结果是空的.
//2014-10-12 12:24:20.242 EnumNSMutableArray[881:303] () NSLog(@"%@", array);
[array release];
}
return 0;
}
2014-10-13 20:17:48.793 EnumNSMutableArray[6403:303] Three
2014-10-13 20:17:48.794 EnumNSMutableArray[6403:303] Tow
2014-10-13 20:17:48.794 EnumNSMutableArray[6403:303] One
2014-10-13 20:17:48.795 EnumNSMutableArray[6403:303] (
)
Program ended with exit code: 0
iOS 开发--NSMutableArray使用枚举方法的更多相关文章
- 李洪强iOS开发Swift篇—10_方法
李洪强iOS开发Swift篇—10_方法 一.简单说明 跟其他面向对象语言一样,Swift中的方法可以分为2大类: (1)实例方法(Instance Methods) 在OC中,实例方法以减号(-)开 ...
- IOS开发中重写init方法使用需谨慎
IOS开发中重写init方法使用需谨慎 今天在写一个小软件的时候出现一点问题,这个软件的功能是搜索全国学校,首页就是搜索输入框,在框中输入完要查询的学校所在省份,点击buttom后就会跳转到对应的视图 ...
- iOS开发-获取属性和方法
iOS开发数据存储有两种方式,属性列表和对象编码,属性列表可以通过NSArray,NSMutableArray,NSMutableDictionary,存储对象我们可以通过归档和解档来完成.如果我们想 ...
- iOS开发使用半透明模糊效果方法整理
虽然iOS很早就支持使用模糊效果对图片等进行处理,但尤其在iOS7以后,半透明模糊效果得到大范围广泛使用.包括今年最新发布的iOS8也沿袭了这一设计,甚至在OS X 10.10版Yosemite中也开 ...
- [转]iOS开发使用半透明模糊效果方法整理
转自:http://www.molotang.com/articles/1921.html 虽然iOS很早就支持使用模糊效果对图片等进行处理,但尤其在iOS7以后,半透明模糊效果得到大范围广泛使用.包 ...
- iOS开发UITableView基本使用方法总结
本文为大家呈现了iOS开发中UITableView基本使用方法总结.首先,Controller需要实现两个delegate ,分别是UITableViewDelegate 和UITableViewDa ...
- iOS开发UITableView基本使用方法总结 分类: ios技术 2015-04-03 17:51 68人阅读 评论(0) 收藏
本文为大家呈现了iOS开发中UITableView基本使用方法总结.首先,Controller需要实现两个delegate ,分别是UITableViewDelegate 和UITableViewDa ...
- iOS开发中 常用枚举和常用的一些运算符(易错总结)
1.色值的随机值: #define kColorValue arc4random_uniform(256)/255.0 // arc4random_uniform(256)/255.0; 求出0.0~ ...
- IOS开发 清空数组正确方法
NSArray以及NSMutableArray 在Objc中的两种数组(不可变数组和可变数组), 在日常开发中,经常会遇到需要清空数组的情况,很多人下意识的会想到nil这个方法,这里是不提倡的.因为如 ...
随机推荐
- Oracle之sql追踪
select * from v$sqlarea t where t.sql_text like '%_070%' order by t.LAST_ACTIVE_TIME desc SELECT * F ...
- Xcode 7遇到 App Transport Security has blocked a cleartext HTTP 错误
今天用Xcode 7 创建新项目用到 URL 发送请求时,报下面的错: “App Transport Security has blocked a cleartext HTTP (http://) r ...
- python操作sqlite数据库
root@cacti:~/box# cat convert.py #!/usr/bin/env python import sqlite3,time,rrdtool,os def boxstatus( ...
- WEB实时聊天 comet推技术
转自:http://www.cnblogs.com/wodemeng/archive/2012/04/06/2435302.html 今天晚上朋友遇到web服务端推技术的问题,自己就查了下资料,学习了 ...
- 十步!轻松搞定IIS+PHP环境
突然心血来潮想着自己一直使用Apache+php的模式,想要了解一下IIS+php的模式.说起来也算是九曲十八弯吧! 第一部分:以ISAPI.dll 扩展的形式 结果按照资料上面说的我就是找不到一个i ...
- 项目中用到的js日期函数
<script type="text/javascript"> //替换字符串 function Replace(str, from, to) { ...
- HDU 5792 World is Exploding 树状数组+枚举
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5792 World is Exploding Time Limit: 2000/1000 MS (Ja ...
- 线段树--Color the ball(多次染色问题)
K - Color the ball Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ...
- hdu 1853 Cyclic Tour 最小费用最大流
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1853 There are N cities in our country, and M one-way ...
- 使用NPOI和线程池快速加载EXCEL数据
private void FilterData() { List<Task> tasks = new List<Task>(); IWorkbook workbook = Cs ...