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、讲数组写入文件

  • 相关阅读:
    Kubenetes环境搭建笔记
    Python+Robot Framework实现UDS诊断自动化测试
    Python实现CAN总线J1939报文接收、发送
    [转载]从SQL 2008 复制数据及对像到SQL 2000 的方法
    推荐移动应用:群落(Groupcells)——全球第一款基于图片组的近场社交电子商务平台
    [缓存]迅雷下载原理
    HP大中华区总裁孙振耀退休感言
    [缓存]HTTP协议中的TranferEncoding:chunked编码解析
    [转载]SQL 2008到2005和2000版本的转换
    [学习]SVM入门(一)
  • 原文地址:https://www.cnblogs.com/naizui/p/5043546.html
Copyright © 2011-2022 走看看