循环使用整个NSArray内的对象

来源:互联网 发布:linux mv cannot stat 编辑:程序博客网 时间:2024/05/20 18:51

循环使用整个NSArray内的对象是非常常用的了,而且最近我在研究究竟怎么能方便的把NSArray存入Core Data,所以这更是必要了,看看如下的方法吧:

1,Objective-C 2.0法,最应该使用的

NSArray *aArray; //我们的Array,假设他已经初始化有内容了 for(id innerObj in aArray) //id可以由其他对象类型替代{//也就是说, 在循环中的参数innerObj就是aArray中的对象//由于NSArray中只能储存对象,所以我们使用id作为内涵对象的类型,其实就是个指针了//而且如果NSArray中的内容不一致,id更不会出现冲突}



2,C的老方法,不推荐,低性能

NSArray *aArray; //我们的Array,假设他已经初始化有内容了 for(int i=0;i<[aArray count]; i++){[[aArray objectAtIndex:i] 然后作你想作的事情]; //做爱 作的事情...}


3, NSEnumerator(不知道怎么翻译阿….


p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 21.0px; font: 14.0px Arial; background-color: #f0f0f0}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Courier; background-color: #f0f0f0}p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Courier; background-color: #f0f0f0; min-height: 14.0px}span.s1 {font: 14.0px 'Heiti SC Light'}span.s2 {font: 12.0px 'Heiti SC Light'}


NSEnumerator* myIterator = [myArray reverseObjectEnumerator];

 id anObject;

 

 while( anObject = [myIterator nextObject]) //每次读取逐读器的下一个对象

 {

     //anObject和刚才的innerObj是一个意思,但是看看多了这么多行

 }


结语:

就用第一种方法吧….

原创粉丝点击