zoukankan      html  css  js  c++  java
  • NSCopy  NSMutableCopy

    拷贝分为深拷贝和浅拷贝   浅拷贝:不产生新的对象,直接指向原有对象
    深拷贝:产生新的对象,其内容是原有对象的内容
     
    拷贝:NSCopy、NSMutableCopy
    NSCopy拷贝出的结果是不可变对象,跟其接受类型没有关系,跟其传入类型也没有关系,NSMutablecopy拷贝的结果是可变对象,跟其传入的类型没有关系,但是会受其接收类型的影响,
     
    当使用NSCopy复制一个不可变对象时,其行为是浅复制,其余情况都是深拷贝
    当使用NSMutablecopy时,是深拷贝
     
    #import <Foundation/Foundation.h>
     
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            /*  NSCopy
            NSString *str = [NSString stringWithFormat:@"123"];
     
            NSString *str1 = [str copy];
     
            NSMutableString *str2 = [str copy];
     
     
            NSMutableString *str3 = [NSMutableString stringWithFormat:@"222"];
            NSString *str4 = [str3 copy];
     
     
            NSLog(@"%p,%p",str1,str);
     
            */
     
            /* NSMutableCopy*/
     
             NSString *str = [NSString stringWithFormat:@"123"];
     
            NSMutableString  *s = [str mutableCopy];
     
            [s setString:@"23"];
            NSLog(@"%p,%p",s,str);
     
     
     
     
     
     
     
     
     
        }
        return 0;
    }
  • 相关阅读:
    2018级 面向对象程序设计 助教总结
    十二,时间序列趋势相似性度量方法的研究-DPM
    第十八周博客作业
    LSTM与BiLSTM
    基于自训练的半监督文本分类算法
    随机游走模型
    PMI点互信息
    Transductive Learning(直推式学习)
    TextCNN实验
    TextCNN
  • 原文地址:https://www.cnblogs.com/zhangyu666666/p/4931110.html
Copyright © 2011-2022 走看看