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;
    }
  • 相关阅读:
    Mysql-窗口函数
    aplly-lambda-map用法
    python-pymysql 操作数据库-创建-写入-多线程写入-读取-清空表
    graphviz安装
    sklearn-决策树
    pandas-烹饪指南
    Tomcat配置https
    azkaban 编译部署
    sqoop部署及使用
    spark面试题-1
  • 原文地址:https://www.cnblogs.com/zhangyu666666/p/4931110.html
Copyright © 2011-2022 走看看