美文网首页
NSArray、NSMutableArray和NSDiction

NSArray、NSMutableArray和NSDiction

作者: FallPine | 来源:发表于2017-04-26 14:37 被阅读14次
  • NSArray、NSMutableArray

    NSArray *temp = [NSArray array];
    [temp copy];    // 浅拷贝
    [temp mutableCopy]; // 深拷贝
    
    NSMutableArray *temp = [NSMutableArray array];
    [temp copy];    // 深拷贝
    [temp mutableCopy]; // 深拷贝

在这里要强调一下:数组在做深拷贝的时候,仅仅是拷贝array这个对象,如果数组元素是基本的数据类型(包括字符串),那一样会被深拷贝,但如果数组元素是自定义的数据类型,这是数组集合内部的元素仍然是指针拷贝(浅拷贝)。

为了解决这个问题,可以调用下面这个系统方法:

NSMutableArray *tempA = [[NSMutableArray alloc] initWithArray:array copyItems:YES];  

这个方法会把数组里面的元素也进行深拷贝。

  • NSDictionary、NSMutableDictionary

dictionary也有与array类似的方法

NSDictionary *dict = [[NSMutableDictionary alloc] initWithDictionary:dictionary copyItems:YES];

相关文章

网友评论

      本文标题:NSArray、NSMutableArray和NSDiction

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