美文网首页i日久生。。。
深浅拷贝之NSString和NSMutableString

深浅拷贝之NSString和NSMutableString

作者: Crazy2015 | 来源:发表于2016-03-20 16:29 被阅读54次

    由此可见:

    这里说明该NSString类型不存在引用计数的概念
    
        NSString *str1 = @"one day";
    
        printf("\n初始化赋值引用计数为::::%lu",str1.retainCount);
        NSString *strCopy1=[str1 retain];
        printf("\n继续retain引用计数为:::%lu",str1.retainCount);
        NSString *strCopy2=[str1 copy];
        printf("\n继续copy后引用计数为::::%lu",str1.retainCount);
        NSString *strCopy3=[str1 mutableCopy];
        printf("\n继续mutableCopy后为:::%lu\n",str1.retainCount);
        
        printf("\n非容器类不可变对象\n原始地址::::::::::%p",str1);
        printf("\nretain复制::::::::%p",strCopy1);
        printf("\ncopy复制::::::::::%p",strCopy2);
        printf("\nmutableCopy复制:::%p\n",strCopy3);
    
    

    ==========

    **初始化赋值引用计数为****::::18446744073709551615**
    **继续****retain****引用计数为****:::18446744073709551615**
    **继续****copy****后引用计数为****::::18446744073709551615**
    **继续****mutableCopy****后为****:::18446744073709551615**
    ****
    **非容器类不可变对象**
    **原始地址****::::::::::0x1000020a0**
    **retain****复制****::::::::0x1000020a0**
    **copy****复制****::::::::::0x1000020a0**
    **mutableCopy****复制****:::0x100103c40**
    
    NSMutableString
    NSMutableString *str2=[NSMutableString stringWithString:@"two day"];
        
        printf("\n初始化赋值引用计数为::::::::::::%lu",str2.retainCount);
        NSMutableString *strCpy1=[str2 retain];
        printf("\n继续retain后引用计数为:::::::::%lu",str2.retainCount);
        NSMutableString *strCpy2=[str2 copy];
        printf("\n继续copy后引用计数为:::::::::::%lu",str2.retainCount);
        NSMutableString *strCpy3=[str2 mutableCopy];
        printf("\n继续mutableCopy后引用计数为::::%lu\n",str2.retainCount);
        
        printf("\n非容器类可变对象\n原始地址::::::::::%p",str2);
        printf("\nretin复制::::::::%p",strCpy1);
        printf("\ncopy复制::::::::::%p",strCpy2);
        printf("\nmutableCopy复制:::%p",strCpy3);
    
    **初始化赋值引用计数为****::::::::::::1**
    **继续****retain****后引用计数为****:::::::::2**
    **继续****copy****后引用计数为****:::::::::::2**
    **继续****mutableCopy****后引用计数为****::::2**
    ****
    **非容器类可变对象**
    **原始地址****::::::::::0x1006035f0**
    **retin****复制****::::::::0x1006035f0**
    **copy****复制****::::::::::0x796164206f777475**
    **mutableCopy****复制****:::0x1006037e0**
    
    

    相关文章

      网友评论

        本文标题:深浅拷贝之NSString和NSMutableString

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