OC NSArray&NSMutableArray,解归档

解归档:

  • 对象实现NSCoding协议,实现两个方法
- (instancetype)intiWithCoder:(NSCoder *)aDecoder {
      if  (self = [ super init]) {
            self.something = [aDecoder decodeObjectForKey:@"ksomething";
      return self
}

- (void)encodeWithCoder:(NSCoder *)aCoder {
      [aCoder encodeObject:self.something forKey:@"ksomething";
}

归档

[NSkeyedArchiver archiveRootObject: someObj toFile: filePath];

解归档

SomeObject *something = [NSKeyedUnarchiver unarchiveObjectWithFile: filePath];

NSArrary & NSMutableArray

  • 不可变数组
//得到一个不可变数组
 NSArray *array =  @[@11,@22,@33];

//得到一个不可变数组,他们内存地址是一样的
 NSArray *array2 = array.copy;

//得到一个可变数组,但是内存地址不一样
NSMutableArray *mutableArr = array.mutablecopy;
  • 可变数组
//得到一个可变数组
NSMutable *mutableArray1 = @[@11,@22].mutablecoty;

//得到一个不可变数组,他们两个的内存地址不同
NSArray *array = mutableArray1.copy;

//得到一个可变数组,内存地址相同
NSMutableNSArray *array = mutableArray1.mutablecopy;

在OC中extension里增加一个可变数组实例变量的时候,记得使用它的时候先mutableArr = [NSMutableArray array]或者mutableArr = @[].mutablecopy赋空

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文为转载: 作者:zyydeveloper 链接:http://www.jianshu.com/p/5f776a...
    Buddha_like阅读 4,474评论 0 2
  • 前言 不敢说覆盖OC中所有copy的知识点,但最起码是目前最全的最新的一篇关于 copy的技术文档了。后续发现有新...
    zyydeveloper阅读 8,842评论 4 35
  • 一、深复制和浅复制的区别? 1、浅复制:只是复制了指向对象的指针,即两个指针指向同一块内存单元!而不复制指向对象的...
    iOS_Alex阅读 5,306评论 1 27
  • 下面是我最近两年学习OC中的一些基础知识,对于学习OC基础知识的人可能有些帮助,拿出来分享一下,还是那句话不喜勿喷...
    小小赵纸农阅读 7,632评论 1 7
  • 设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的...
    不懂后悔阅读 4,227评论 0 53

友情链接更多精彩内容