Obj-C中的不可变数组NSArray常用方法

来源:互联网 发布:linux 挂载有数据硬盘 编辑:程序博客网 时间:2024/05/18 08:54

//

//  main.m

//  nsarray

//

//  Created by Mr.Juice on 15/4/3.

//  Copyright (c) 2015 Mr.Juice. All rights reserved.

//


#import <Foundation/Foundation.h>


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

    

    //—————————————————不可变数组—————————————————————

   /*

     

     Obj-C中的数组在使用时的注意事项:

     

     1.数组中不能存放基本数据类型,只能存放对象

     2.数组在使用时不能越界

     3.一个数组中存放的对象类型必须一致

     

     */

    

    //1.数组的创建

   NSString *s1 = @"zhangsan";

   NSString *s2 = @"lisi";

   NSString *s3 = @"王五";

    

   NSArray *array1 = [[NSArrayalloc]initWithObjects:s1,s2,s3,nil];

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

    

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

    

    //2.objectAtIndex: 通过下标取数组

   NSString *s4 = [array1 objectAtIndex:2];

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

    

    //3.count: 数组中元素的个数

   NSUInteger i = [array1 count];

   NSLog(@"%ld",i);

    

    //4.containObject: 判断数组中是否包含某一个对象

   BOOL isContain = [array1 containsObject:@"lisi"];

   NSLog(@"%hhd",isContain);

    //NSLog(@"%@",isContain);


    //5.indexOfObject: 查找一个对象在数组中的下标位置

   NSInteger index = [array1 indexOfObject:@"王五"];

   if (index == NSNotFound) {

       NSLog(@"没有此元素。");

    }

   else{

       NSLog(@"index = %ld",index);

    }

    

    //6.componentsJoinedByString:使用连接符,将数组中的字符串拼接

   NSString *joinString = [array1 componentsJoinedByString:@"-"];

   NSLog(@"%@",joinString);

    

    //componentsSeparatedByString: 字符串的分割

   NSArray *separatString = [joinString componentsSeparatedByString:@"-"];

   NSLog(@"%@",[separatStringdescription]);

    

    //7.lastObject: 访问数组中的最后一个元素

   NSString *laststr = [array1 lastObject];

   NSLog(@"%@",laststr);

    

    //8.arrayByAddingObject: 追加元素

   NSArray *array2 = [array1 arrayByAddingObject:@"追加元素"];

   NSLog(@"%@",array2);

    

    //—————————————————————————数组的遍历—————————————————————————————

    

    //1.普通方法

   for (int i=0; i<[array2count]; i++) {

       NSString *str2 = [array2 objectAtIndex:i];

       NSLog(@"%@",str2);

    }

    

    //2.快速便利

   for(NSString *str3in array1){

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

    }

    

    //—————————————————————数组的创建、访问的新语法——————————————————————

    

    //1.创建数组

   NSArray *array3 = @[s1,s2,s3];

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

    

    //等价于:

    //NSArray *array3 = [NSArray arrayWithObjects:s1,s2,s3,nil];

    

    //2.使用下标访问数组

   NSString *str4 = array3[1];

   NSLog(@"%@",str4);

    

    return 0;

    

}


//———————————————————————以下是运行结果———————————————————————————————

2015-04-03 22:46:00.691 nsarray[766:79263] array1 = (

    zhangsan,

    lisi,

    "\U738b\U4e94"

)

2015-04-03 22:46:00.694 nsarray[766:79263] s3 =王五

2015-04-03 22:46:00.694 nsarray[766:79263] s4 =王五

2015-04-03 22:46:00.695 nsarray[766:79263] 3

2015-04-03 22:46:00.695 nsarray[766:79263] 1

2015-04-03 22:46:00.695 nsarray[766:79263] index = 2

2015-04-03 22:46:00.695 nsarray[766:79263] zhangsan-lisi-王五

2015-04-03 22:46:00.696 nsarray[766:79263] (

    zhangsan,

    lisi,

    "\U738b\U4e94"

)

2015-04-03 22:46:00.696 nsarray[766:79263]王五

2015-04-03 22:46:00.696 nsarray[766:79263] (

    zhangsan,

    lisi,

    "\U738b\U4e94",

    "\U8ffd\U52a0\U5143\U7d20"

)

2015-04-03 22:46:00.696 nsarray[766:79263] zhangsan

2015-04-03 22:46:00.696 nsarray[766:79263] lisi

2015-04-03 22:46:00.697 nsarray[766:79263]王五

2015-04-03 22:46:00.697 nsarray[766:79263]追加元素

2015-04-03 22:46:00.697 nsarray[766:79263] str3 = zhangsan

2015-04-03 22:46:00.697 nsarray[766:79263] str3 = lisi

2015-04-03 22:46:00.697 nsarray[766:79263] str3 =王五

2015-04-03 22:46:00.697 nsarray[766:79263] array3 = (

    zhangsan,

    lisi,

    "\U738b\U4e94"

)

2015-04-03 22:46:00.697 nsarray[766:79263] lisi

Program ended with exit code: 0



0 0
原创粉丝点击