zoukankan      html  css  js  c++  java
  • Object-c NSArray

    NSarray数组的使用:

    1、数组简介

    ①oc中的数组和C中的数组有什么区别和联系

    a、oc中的数组只能是对象

    b、c中的数组一旦创建,不能修改

    c、oc中有可变数组NSMutableArray

    2、数组的创建

    ①、直接赋值

    NSArray *array = @[@"one",@"two",@"shree"];

    NSArray *array2 = @[实例对象1,实例对象2,...];

    ②、使用对象列表

    NSArray *array3 = [NSArray arrayWithObjects:@"one",@"two",@"three",nil];

    NSArray *array4 = [NSArray arrayWithObjects:实例对象1,实例对象2,nil];

    如果学习NSArray:alt+光标+点击

    a、查看参考 

    ①有序的,索引的,

    b、查看Api

    c、xcode 帮助文档

     

    3、获得数组的长度(大小)

    NSUInteger count = array4.count;

    NSlog(@"count=%lu",count);

    4、获得某个索引位置的元素(数组是一个ordered有序列表)

    下标从0开始的,如:

    NSString *item = [array objectAtIndex:2];

    NSlog(@"%@",item);

    输出的值为three。

    5、遍历数组

    a.count  objeAtIndex

    for(int i = 0;i<count;i++){

    NSString *item = [array objectAtIndex:i]

    NSlog(@"%@",item);

    }

    for(id a in collection)

    for(NSString *item in array){

    NSlog(@"%@",item);

    }

    6、获得某个元素再数组中的位置

    - (NSUInteger)indexOfObject:(id)anObject;

    NSUInteger index = [array indexOFObject:@"two"];

    NSlog(@"index=%lu",index);

    7、将数组元素连接成字符串

    -(NSString*)componentsJoinedBySting:(NSString*)separator;

    NSString*str2 = [array componentsJoinedByString:@";"];这里的分号是分割符

    NSlog(@"%@",str2);

    8、将一个数组添加到另一个数组

     NSArray *array1 = @[@"1",@"2",@"3"];

     NSArray *array2 = @[@"a",@"b",@"c"];

    NSArray *temp = [array1 arrayByAddingObjectsFromArray:array2];

    NSlog(@"%@",temp);

    输出:123abc。

    9、判断数组中是否包含某个对象

    -(BOOL)containsObject:(id)anObject;

    10、枚举迭代

    输出所有的元素:

    顺序:

    NSEnumerator *e = [array objectEnumerator];

    //id x = [e nextObject];

    id x;

    while((x=[e nextObject])!=nil){

    NSlog(@"%@",x);

    }

    逆序:

    e = [array reverseobjectEnumerator];

    while((x=[e nextObject])!=nil){

    NSlog(@"%@",x);

    }

    11、数组的排序

    sortedArrayUsingComparator

    12、讲数组写入文件

  • 相关阅读:
    LA 3135 优先队列
    uva 11991 查询中容器的运用
    uva 11995 判别数据类型
    LA 4973异面线段
    LA 2797 平面区域dfs
    LA 2218 半平面交
    poj 3525 求凸包的最大内切圆
    poj 1031 多边形对点(向周围发射光线)的覆盖
    poj 1269 直线间的关系
    kotlin学习笔记-异常好玩的list集合总结
  • 原文地址:https://www.cnblogs.com/naizui/p/5043546.html
Copyright © 2011-2022 走看看