美文网首页
OC NSArray&NSMutableArray,解归

OC NSArray&NSMutableArray,解归

作者: cry_0416 | 来源:发表于2016-09-23 17:18 被阅读180次

    解归档:

    • 对象实现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赋空

    相关文章

      网友评论

          本文标题:OC NSArray&NSMutableArray,解归

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