首页 > 代码库 > NSArray ----NSMutableArray

NSArray ----NSMutableArray

 

//NSArray

•Foundation中数组(NSArray)是有序的对象集合

•NSArray只能存储Objective-C的对象,而不能存储像 intfloat这些基本数据类型,但是Objective-C对C 兼容,所以在Objective-C程序中,仍然可以使用C数组来存储基本数据类型

•NSArray?一旦创建便不可以再对它就进行更改,如果 要进行对数组的增、删、改等操作的话,需要使用 NSArray的子类NSMutableArray来创建对象

 

//NSArray常用方法

•+arrayWithObjects:使用?一组对象创建?一个数 组(注: 1,该方法可以接收可变数目的参数。2, 最后?一个值指定为nil,表示参数列表结束)

•-objectAtIndex:用数组索引检索数组中的元素

•-count:返回数组元素个数

 

//NSMutableArray

•NSMutableArray是NSArray的子类,继承了

NSArray的所有方法,并添加了新的方法

•NSMutableArray用来处理可变数组


 

//+arrayWithCapacity:为可变数组指定初始容量

•-addObject:向可变数组的末尾添加?一个元素

•-addObjectsFromArray:将另外?一个数组的所有元素添加 到调用该方法的数组中

•-insertObject:atIndex:将?一个元素添加到数组指定的位置上

•-removeObjectAtIndex:移除数组中指定位置上元素

•-removeObject:移除数组中指定元素


 

//快速遍历

for(类名*对象名 in 需要遍历的对象)

{

   //. . .

}

 

//

//  main.m

//  shiyueshihaoshuzu

//

//  Created by iphone on 11-10-10.

//  Copyright 2011年 __MyCompanyName__. Allrights reserved.

//


#import<Foundation/Foundation.h>


int main (int argc,const char * argv[])

{


   //@autoreleasepool {

       

      NSAutoreleasePool* pool=[[NSAutoreleasePoolalloc]init];

       // insert codehere...

      NSArray *array=[NSArrayarrayWithObjects:@"one",@"two",@"no",nil];// 创建数组, nil表示空值,表示参数列表的结束

       NSLog(@"%@",array);

       NSArray * arr=[NSArrayarrayWithObjects:@"hello",nil];

       NSLog(@"%@",arr);

       id rr=[array objectAtIndex:1];//用数组索引检索数组中的元素

       NSLog(@"id%@",rr);

        

      longint i=[arraycount]; //输出数组里的元素个数

        NSLog(@"%ld",i);     

       

      [NSMutableArrayarrayWithCapacity:20];//分配内存空间

    

      NSMutableArray*nsarr=[NSMutableArrayarrayWithObjects:@"hi",@"hello",nil];

      [nsarraddObject:@"no"];//-addObject:向可变数组的末尾添加?一个元素

       NSLog(@"%@",nsarr);

   NSMutableArray*nsarr2=[NSMutableArray arrayWithObjects:@"a",@"b",nil];

   [nsarraddObjectsFromArray:nsarr2];//-addObjectsFromArray:将另外?一个数组的所有元素添加到调用该方法的数组中,将一个数组里的内容添加到另一个数组中

  NSLog(@"---------%@",nsarr);

   [nsarr2 insertObject:@"c"atIndex:1];

    NSLog(@"%@",nsarr2);

   [nsarr2removeObjectAtIndex:0];//-removeObjectAtIndex:移除数组中指定位置上元素

    NSLog(@"%@",nsarr2);

   [nsarr2removeObject:@"b"];//-removeObjectAtIndex:移除数组中指定位置上元素

    NSLog(@"%@",nsarr2);

    

    for(NSString * tem in array)//遍历

    {

      NSLog(@"tem is:%@",tem);//输出数组里面的元素

    }

    

  NSLog(@"--------------------");

    

    for(inti=0;i<[arraycount];i++)//类似C里面的

    {

      NSLog(@"%@",[arrayobjectAtIndex:i]);

    }

    

   //}

    [pool drain];

    return 0;

}//

NSArray ----NSMutableArray