Objective-C在学习之常用数据.数组(三)

上次学习了Objective-C的一些常用数据,这些数据有点像C语言的数据类型,其基本用法和C语言基本差不多,因为Objecitive-C语言是C语言严格的超集嘛。接下来我们看一下Objective-C的其他数据类型。

<不可变数组>NSArray数据:基本的数组类型,用此创建数组后,就不可以在向这个数组中添加元素或者删除其中的元素了。照这样说的话,NSArray主要用于那些创建后不需要再次更改的地方。

这个数组中可以存储任意类型的对象(object)的对象指针,但不能用于存储int、bool、char等等一些基本数据,这有点和C语言不同。下面将三个字符串和self指针存储在NSArray的一个实例对象中:

//初始化不可变数组
NSArray *mArray = [[NSArray alloc] initWithObjects:@"Evolution.cc",@"123456789",@"evolution.zyc@gmail.com",self,nil];

下面对这个数组进行遍历,在Objective-C中遍历一个数组有两种方法。
遍历方法一:利用C语言的遍历方法

for(int i = 0; i < [mArray count]; i ++){
	NSLog(@"不可变数组:%@",[mArray objectAtIndex:i]);
	}
遍历方法二:利用Objective-C 2.0 引入的快速枚举方法,不仅速度快,而且安全性高,(推荐使用

	for( NSString *str in mArray){
		NSLog(@"不可变数组:%@",str);
	}
	

不管用哪种方法,我们都可以得到如下的Log信息,因为数组中最后一个元素师self指针,因此会把这个数组的地址打印出来:

不可变数组:	Evolution.cc
不可变数组:  123456789
不可变数组:  evolution.zyc@gmail.com
不可变数组:  <MyClass:0x4e175e0>

<可变数组>NSMutableArray数组:是一个可变数组,数组创建完成后还可以动态的再向数组中添加与删除元素,并且可以向指定的位置插入元素,有点C语言中的链表哦。

//可变数组的初始化
NSMutableArray *eArray = [NSMutableArray array];

使用addObject方法向数组中添加元素:

//添加元素
- (void)addArray: (NSObject *) str{
	[eArray addObject:str];
}
使用removeObject方法删除元素

//删除数组中元素
-(void)deleteElements: (NSString *) str{
	[eArray removeObject:str];
}
使用replaceObjectAtIndex方法可以修改数组中的某一个元素。它有两个参数,第一个为数组元素的索引id;另一个是修改对象的指针。

//修改数组中的元素
-(void) changeElements: (int)ID :(NSObject *)str{
	[eArray replaceObjectAtIndex:ID withObject:str];
}
使用insertObject方法向数组中插入一个元素。带有两个参数:第一个插入对象的指针;第二个 插入的索引

//向数组中插入一个元素
-(void)insertElements:(int)ID:(NSObject *)str{
	[eArray insertObject:str atIndex:ID];
}
这就是可变数组的一些基本的用法,可变数组的遍历方法和不可变数组的相同。

注:代码均未进行实际验证,要是代码中有什么问题请告诉Eolution.cc,我会及时更正的,谢谢大家的支持。





评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值