Objective-C个人学习系列(2) NSArray NSMutableArray

87214552 2014-04-03

//1、NSArray数组

#import <Foundation/Foundation.h>

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

    @autoreleasepool {

        //初始化

        //定义一个不可变数组 //并且初始化

        NSArray* array0 = [[NSArray alloc] init] ;

        

        //通过若干个对像初始化数组

        NSArray* array1 = [[NSArray alloc] initWithObjects:@"小明",@"小刚",@"小强",nil];

        

        //根据已经存在的一个数组创建一个新的数组//新数组的内容与原来数组的内容一样

        NSArray* array2 = [[NSArray alloc] initWithArray:array1];

        

        NSString* str = (NSString*)array1[0] ;

        

        for (int i = 0; i < [array1 count]; i++)

        {

            //通过索引来取得数组中的相应对象

            //参数为获得元素在数组中的索引

            //返回值为一个id类型范型指针

            NSString* strName = [array1 objectAtIndex:i] ;

            NSLog(@"strName = %@",strName) ;

        }

        

        //快速遍历循环语法

        //第一个变量为指针对象类型

        //可以使用id类型来接受

        //in后的参数二表示集合类型

        //数组,集合,字典

        //不能对遍历的集合进行做增加或删除操作

        for (id pStr in array1)

        {

            NSString* str = (NSString*) pStr ;

            

            NSLog(@"str = %@",str);

        }

        //查找数组中是否包含某个元素

        BOOL isHas = [array1 containsObject:@"小明"];

        

        if (isHas) {

            NSLog(@"小明在数组中!!");

        }

        

        //返回数组中的最后一个元素

        NSString* strLast = [array1 lastObject] ;

        

        NSLog(@"strLast = %@",strLast) ;

        

        NSString* strFirst = [array1 objectAtIndex:0] ;

    }

    

    return 0;

}

//2、可变数组NSMutableArray

#import <Foundation/Foundation.h>

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

{

    @autoreleasepool

    {

        NSInteger iValue = 10 ;

        

        //通过类方法返回一个初始化好的一个可变数组对象

        NSMutableArray* mArray = [NSMutableArrayarray] ;

        

        //[mArray addObject:iValue] ;

    

        //通过预先分配内存大小的方式创建动态数组

        NSMutableArray* mArray2= [NSMutableArrayarrayWithCapacity:10] ;

        //用一个对象初始化数组

        NSMutableArray* mArray3 = [NSMutableArrayarrayWithObject:@"123"] ;

        

        mArray3 = [NSMutableArray arrayWithObjects:@"123", nil];

        //通过数组来初始化对象

        NSMutableArray* mArray4 = [NSMutableArray arrayWithArray:mArray3] ;

        

        //像数组中添加对象,参数为指针对象

        [mArray addObject:@"111"] ;

        [mArray addObject:@"222"] ;

        [mArray addObject:@"333"] ;

        [mArray addObject:@"111"] ;

        

        NSLog(@"mArray = %@",mArray) ;

        

//        //删除索引为0的元素

       [mArray removeObjectAtIndex:0] ;

//        NSLog(@"mArray = %@",mArray) ;

//        

//        //删除最后一个元素

        [mArray removeLastObject] ;

//        NSLog(@"mArray = %@",mArray) ;

        [mArray removeObject:@"111"] ;

        NSLog(@"mArray = %@",mArray) ;

        //替换索引位置的元素

        [mArray replaceObjectAtIndex:0withObject:@"555"] ;

        NSLog(@"mArray = %@",mArray) ;

        // insert code here...

        NSLog(@"Hello, World!");

        

        

        NSMutableArray* arrayNum = [NSMutableArrayarray] ;

        

        for (int i = 0;  i < 10; i++)

        {

            //随机产生整数

            NSInteger value = arc4random() % 100 ;

            

            NSNumber* num = [NSNumber numberWithInteger:value] ;

            

            [arrayNum addObject:num] ;

        }

        

        for (id num in arrayNum)

        {

            NSNumber* numValue = (NSNumber*)num ;

            

            NSLog(@"value = %@",numValue) ;

        }

        

        

    }

    return 0;

}

//字符串分割与连接

#import <Foundation/Foundation.h>

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

    @autoreleasepool {

    NSString* str = @"one,two,three,four,five";

        

    //分割字符创为数组,下例以“,”分割

    NSArray* array = [str componentsSeparatedByString:@","];

    for(NSString* obj in array)

    {

        NSLog(@"%@", obj);

    }

    

    //链接字符串,下例以空格连接

    str = [array componentsJoinedByString:@" "];

    NSLog(@"%@", str);

    

    

    }

    return 0;

}

更多内容参考官方文档:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html

相关推荐