OC语言学习13-Copy和MutableCopy

来源:互联网 发布:为什么网络电视不清晰 编辑:程序博客网 时间:2024/06/02 07:13

创建一个工程,编写mian.m代码.

#import <Foundation/Foundation.h>


int main(int argc,const char * argv[]) {

    @autoreleasepool {

        //当对不可变对象进行copy,是进行的浅拷贝,仅拷贝该对象的地址

        NSString *string =@"string";

        NSLog(@"string = %p", string);

        

        NSString *string2 = [stringcopy];

        NSLog(@"string2 = %p", string2);

        

        //当对可变对象进行copy,是进行的深拷贝,拷贝该对象的备份

        NSMutableString *mutableString = [NSMutableStringstringWithString:string];

        NSLog(@"mutableString = %p", mutableString);

        

        NSMutableString *string3 = [stringcopy];

        NSLog(@"string3 = %p", string3);

        //当使用mutableCopy无论对象是不是可变,都将进行深拷贝

        NSMutableString *mutableStringCopy = [stringmutableCopy];

        NSLog(@"mutableStringCopy = %p", mutableStringCopy);

        

        mutableStringCopy = [mutableString mutableCopy];

        NSLog(@"mutableStringCopy%p", mutableStringCopy);

        

    }

    return0;

}