美文网首页
GeekBand Objective-C 集合类型

GeekBand Objective-C 集合类型

作者: 东忙忙西茫茫 | 来源:发表于2016-05-22 15:38 被阅读0次

1. 数组

数组是一个有序的元素序列,其内部只能存放对象类型,对于基本数据类型需要用NSNumber包装成对象后存放,对于C语言的Struct类型,需要用NSValue包装对象后存放。
它的索引是从0开始,其索引大小大于数组长度时,会抛出索引越界运行时异常。

1.1 NSArray(固定数组)

NSArray具有常量性,其长度和元素均不能被更改。但元素对象指针指向的内容可以修改。
遍历方式:

    // for in 方式,最快的迭代方法
    for (MyPoint* p in arr) {
        NSLog(@"%p",p);
    }
    // 迭代器方式
    NSEnumerator* enumerator = [arr objectEnumerator];
    MyPoint* p = nil;
    while (p = [enumerator nextObject]) {
         NSLog(@"%@",[p description]);
    }
    // for 循环
    for (int i = 0; [arr count]; i++) {
        id p = [arr objectAtIndex:i];
        NSLog(@"%@",[p description]);
    }
1.2 NSMutableArray (可变数组)

NSMutableArray 是 NSArray的子类,可更改自身的长度、及元素。与NSMutableString 一样初始化指定一个capacity的值,为元素的数据。当长度增长时,会以capacity二倍的方式增长。
虽然它给我们提供了很多操作数组的方法,但是我们也应该尽量去避免使用insertObject 和 removeObject等这种会改变数序列的操作,因为涉及到大量的内存拷贝操作。

2. Set 集合

分为NSSet,NSMutableSet,前者不可变,后者可变。
Set是一个无序、无重复元素的集合。引用类型!
遍历的方式:Fash Enumeration和NS Enumerator。

3. Dictionary 字典

NSDictionary NSMutableDictinary(可变)
键 值对无序集合,key是唯一,value可重复
遍历的方式:Fash Enumeration和NS Enumerator

相关文章

  • GeekBand Objective-C 集合类型

    1. 数组 数组是一个有序的元素序列,其内部只能存放对象类型,对于基本数据类型需要用NSNumber包装成对象后存...

  • 八、集合类型 @GeekBand

    数组 NSArray 只能存放对象 常量性 长度、元素指针不能更改 遍历数组推荐使用快速枚举方法 NSMutabl...

  • iOS数据类型

    一:数据类型集合: Objective-C数据类型可以分为:基本数据类型、对象数据类型 和 id类型 : 1. 基...

  • iOS 基础数据类型

    一:数据类型集合: Objective-C数据类型可以分为:基本数据类型、对象数据类型 和 id类型 : 基本数据...

  • 基础数据

    一:数据类型集合: Objective-C数据类型可以分为:基本数据类型、对象数据类型 和 id类型 : 基本数据...

  • 2018-11-09

    一:数据类型集合: Objective-C数据类型可以分为:基本数据类型、对象数据类型 和 id类型 : 基本数据...

  • 基础数据类型和它的转化

    一:数据类型集合: Objective-C数据类型可以分为:基本数据类型、对象数据类型 和 id类型 : 基本数据...

  • GeekBand OC 9. 集合类型

    分类 1. Array 有序,包含index和value两部分 2. Set 无序 3. Dictionary k...

  • NSSet:obj-c的唯一集合

    Objective-C有3种集合类型(collection):array,dictionary,set,他们三者的...

  • GeekBand-OC中的集合类型

    NSArray和NSMutableArray 数组是一个有序的元素序列,支持随机存取。索引从0开始,索引越界会抛出...

网友评论

      本文标题:GeekBand Objective-C 集合类型

      本文链接:https://www.haomeiwen.com/subject/hdworttx.html