循环使用整个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(不知道怎么翻译阿….)
NSEnumerator* myIterator = [myArray reverseObjectEnumerator];
id anObject;
while( anObject = [myIterator nextObject]) //每次读取“逐读器”的下一个对象
{
//anObject和刚才的innerObj是一个意思,但是看看多了这么多行
}
结语:
就用第一种方法吧….
分享到:
相关推荐
- **数组对象**:使用`NSArray`或`NSMutableArray`来存储和管理对象集合。 - **数组操作**:添加、删除、索引访问等。 **1.24 分配和使用字典** - **字典对象**:使用`NSDictionary`或`NSMutableDictionary`来存储...
为了避免这种情况,需要谨慎地使用强引用,并考虑使用弱引用或其他策略来打破引用循环。 #### Use Strong and Weak Declarations 在Objective-C中,通过使用强引用(strong)和弱引用(weak)声明来管理对象间的...
2. **实现类工厂方法**:创建一个类级别的工厂方法,确保在整个应用程序生命周期内只创建一次实例。当实例不存在时才创建新实例。 3. **遵守NSCopying协议**:实现`NSCopying`协议,重写`allocWithZone:`方法,确保...
例如,在使用UIView的block版本动画方法时,如果块中保留了对当前对象的引用,则可能会形成循环引用。为了避免这个问题,可以使用`__weak`或`__block`关键字来弱引用或强引用当前对象。 **11. 使用 @property 声明...
2. **解析JSON字符串**: 使用`-parse:`方法将接收到的JSON字符串解析成Foundation对象(如NSArray或NSDictionary)。 ```objc NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; id ...
本书将深入探讨NSString、NSArray、NSDictionary等核心类的使用,以及文件和数据管理。 6. 用户界面开发:Cocoa的用户界面开发主要依赖于UIKit框架。本书将介绍如何使用UIKit创建窗口、控件、视图等界面元素,并...
使用ADCExtensions可以提高代码的可读性和可维护性,因为它将常见的操作封装为单一方法,而不是散落在整个项目中。此外,由于ADCExtensions是开源的,开发者可以查看其源码,理解每个方法的工作原理,并可以根据需要...
- 在两个对象相互引用的情况下,一端使用 `retain`,另一端使用 `assign` 可以避免循环引用问题。 - **`retain`**: - set方法的实现是先释放旧值,再保留新值。 - 用于管理Objective-C对象的生命周期,适用于OC...
- **循环**:讲解不同类型的循环结构,如`for`循环和`while`循环,并提供实际例子。 - **条件语句**:介绍如何使用`if`语句和其他条件语句进行决策。 **4. 数据类型与表达式** - **基本数据类型**:涵盖整型、浮点...
- **retain**: 表示使用引用计数来管理内存,适用于对象类型。 - **copy**: 对传入的对象进行深拷贝,适用于字符串等对象。 - **nonatomic**: 非原子操作,提高性能但可能影响多线程环境下的安全性。 #### 五、...
iOS中的集合对象,如NSArray、NSMutableArray、NSSet、NSMutableSet、NSDictionary和NSMutableDictionary,它们各自提供了不同时间复杂度的接口方法。NSArray和NSMutableArray由于维护有序性和允许重复元素,某些...
- OC中的集合类主要包括NSArray、NSSet和NSDictionary,它们分别用于存储有序不可变对象、无序不可变对象和键值对。对应的可变类型是NSMutableArray、NSMutableSet和NSMutableDictionary,它们提供了修改集合内容的...
1. **创建UIView**:首先,在故事板(Storyboard)或代码中创建一个UIView实例,设置其frame覆盖整个屏幕,或者根据需要设置大小和位置。 2. **颜色数组**:定义一个包含多种颜色的NSArray,这些颜色将用来模拟霓虹...
`UIImageView` 的 `animationImages` 属性是一个 `NSArray` 类型,用于存储一系列的 `UIImage` 对象。这些图像通常是连续帧,当它们按顺序快速显示时,会给用户一种连续运动的视觉效果,类似于电影胶片。要设置动画...
1. `animationImages`: 这是一个NSArray对象,用于存储一系列连续的图像,这些图像将在动画过程中按顺序显示。例如,在上述代码中,16张名为"f-i.jpg"的图片被添加到这个数组中,形成了一个简单的帧动画。 2. `...