Objective-C 数据存储
-
数据存储
数据存储及其检索是任何程序中最重要的一项。在Objective-C中,我们通常不依赖链表之类的结构,因为它会使工作变得复杂。相反,我们使用NSArray,NSSet,NSDictionary及其可变形式之类的集合。 -
NSArray和NSMutableArray
NSArray用于保存不可变的对象数组,NSMutableArray用于保存可变的对象数组。可变性有助于在运行时将数组更改为预分配的数组,但是如果使用NSArray,则仅替换现有数组,而不能更改现有数组的内容。NSArray的重要方法如下- alloc/initWithObjects - 用于初始化带有对象的数组。
- objectAtIndex - 返回特定索引处的对象。
- count - 返回对象数
NSMutableArray继承自NSArray,因此NSSMutableArray中提供了NSArray的所有实例方法,NSMutableArray的重要方法如下-- removeAllObjects - 清空数组。
- addObject - 在数组的末尾插入一个给定的对象。
- removeObjectAtIndex - 用于删除特定索引处的object
- exchangeObjectAtIndex:withObjectAtIndex - 以给定的索引交换数组中的对象。
- replaceObjectAtIndex:withObject - 将索引处的对象替换为Object。
我们必须记住,上面的列表只是经常使用的方法,我们可以跳入XCode中的各个类以了解这些类中的更多方法。一个简单的例子如下所示。现在,当我们编译并运行程序时,我们将得到以下结果。在上面的程序中,我们看到了NSMutableArray和NSArray的简单区别,我们可以在分配可变数组后插入字符串。 -
NSDictionary和NSMutableDictionary
NSDictionary用于保存对象的不可变字典,而NSMutableDictionary用于保存对象的可变字典。NSDictionary的重要方法如下-- alloc/initWithObjectsAndKeys-用从指定的一组值和键构成的条目初始化一个新分配的字典。
- valueForKey-返回与给定键关联的值。
- count-返回字典中的条目数。
NSMutableDictionary继承自NSDictionary,因此NSMutableDictionary中提供了NSDictionary的所有实例方法,NSMutableDictionary的重要方法如下-- removeAllObjects -清空其条目的字典。
- removeObjectForKey -从字典中删除给定的键及其关联的值。
- setValue:forKey -将给定的键值对添加到字典中。
字典的一个简单示例如下所示-现在,当我们编译并运行程序时,我们将得到以下结果。 -
NSSet和NSMutableSet
NSSet用于保存不可变对象的不可变集合,而NSMutableDictionary用于保存可变对象的可变集。NSSet的重要方法如下-- alloc/initWithObjects-用从指定对象列表中获取的成员初始化一个新分配的集合。
- allObjects-返回一个包含集合成员的数组;如果集合没有成员,则返回一个空数组。
- count-返回集合中的成员数。
NSMutableSet继承自NSSet,因此NSMutableSet中提供了NSSet的所有实例方法。NSMutableSet的重要方法如下-- removeAllObjects-清空所有成员的集合。
- addObject-如果给定对象还不是成员,则将其添加到集合中。
- removeObject-从集合中删除给定的对象。
下面是一个简单的集合示例-现在,当我们编译并运行程序时,我们将得到以下结果。