zoukankan      html  css  js  c++  java
  • ios copy 和 retain 字符串

      1 @property (retain, nonatomic) NSString *retainStr;
      2 @property (copy, nonatomic)   NSString *copyStr;
      3 
      4  
      5 
      6 @property (retain, nonatomic) NSMutableString *retainMStr;
      7 @property (copy, nonatomic)   NSMutableString *copyMStr;
      8 
      9  
     10 
     11 实现代码如下:
     12 
     13     NSMutableString *mStr = [NSMutableString string];
     14 
     15     [mStr setString:@"我没变"];
     16 
     17     
     18 
     19     self.retainStr   = mStr;
     20 
     21     self.copyStr     = mStr;
     22 
     23     self.retainMStr = mStr;
     24 
     25     self.copyMStr   = mStr;
     26 
     27     
     28 
     29     NSLog(@"retainStr:%@",  self.retainStr);
     30 
     31     NSLog(@"copyStr:%@",    self.copyStr);
     32 
     33     NSLog(@"retainMStr:%@", self.retainMStr);
     34 
     35     NSLog(@"copyMStr:%@",   self.copyMStr);
     36 
     37     NSLog(@"
    ");
     38 
     39     
     40 
     41     [mStr setString:@"我变了"];
     42 
     43     
     44 
     45     NSLog(@"retainStr:%@",  self.retainStr);
     46 
     47     NSLog(@"copyStr:%@",    self.copyStr);
     48 
     49     NSLog(@"retainMStr:%@", self.retainMStr);
     50 
     51     NSLog(@"copyMStr:%@",   self.copyMStr);
     52 
     53     NSLog(@"
    ");
     54 
     55  
     56 
     57     NSString *str = @"我来了";//[[NSString alloc] initWithFormat:@"我来了"];//两种方式都一样。
     58 
     59     self.retainStr  = str;
     60 
     61     self.copyStr    = str;
     62 
     63     self.retainMStr = [str mutableCopy];
     64 
     65     self.copyMStr   = [str mutableCopy];
     66 
     67  
     68 
     69     NSLog(@"retainStr:%@",  self.retainStr);
     70 
     71     NSLog(@"copyStr:%@",    self.copyStr);
     72 
     73     NSLog(@"retainMStr:%@", self.retainMStr);
     74 
     75     NSLog(@"copyMStr:%@",   self.copyMStr);
     76 
     77     NSLog(@"
    ");
     78 
     79     
     80 
     81     str =@"我走了";//[[NSStringalloc] initWithFormat:@"我走了"];//两种方式都一样
     82 
     83  
     84 
     85     NSLog(@"retainStr:%@",  self.retainStr);
     86 
     87     NSLog(@"copyStr:%@",    self.copyStr);
     88 
     89     NSLog(@"retainMStr:%@", self.retainMStr);
     90 
     91     NSLog(@"copyMStr:%@",   self.copyMStr);
     92 
     93     NSLog(@"
    ");
     94 
     95  
     96 
     97 打印结果如下:
     98 
     99 2012-10-12 13:53:14.858 StringDemo[1515:11303] retainStr:我没变
    100 
    101 2012-10-12 13:53:14.860 StringDemo[1515:11303] copyStr:我没变
    102 
    103 2012-10-12 13:53:14.861 StringDemo[1515:11303] retainMStr:我没变
    104 
    105 2012-10-12 13:53:14.862 StringDemo[1515:11303] copyMStr:我没变
    106 
    107 2012-10-12 13:53:14.863 StringDemo[1515:11303] 
    108 
    109 2012-10-12 13:53:14.864 StringDemo[1515:11303] retainStr:我变了
    110 
    111 2012-10-12 13:53:14.865 StringDemo[1515:11303] copyStr:我没变
    112 
    113 2012-10-12 13:53:14.866 StringDemo[1515:11303] retainMStr:我变了
    114 
    115 2012-10-12 13:53:14.867 StringDemo[1515:11303] copyMStr:我没变
    116 
    117 2012-10-12 13:53:14.868 StringDemo[1515:11303] 
    118 
    119 2012-10-12 13:53:14.869 StringDemo[1515:11303] retainStr:我来了
    120 
    121 2012-10-12 13:53:14.869 StringDemo[1515:11303] copyStr:我来了
    122 
    123 2012-10-12 13:53:14.870 StringDemo[1515:11303] retainMStr:我来了
    124 
    125 2012-10-12 13:53:14.871 StringDemo[1515:11303] copyMStr:我来了
    126 
    127 2012-10-12 13:53:14.872 StringDemo[1515:11303] 
    128 
    129 2012-10-12 13:53:14.873 StringDemo[1515:11303] retainStr:我来了
    130 
    131 2012-10-12 13:53:14.874 StringDemo[1515:11303] copyStr:我来了
    132 
    133 2012-10-12 13:53:14.875 StringDemo[1515:11303] retainMStr:我来了
    134 
    135 2012-10-12 13:53:14.876 StringDemo[1515:11303] copyMStr:我来了
  • 相关阅读:
    对两个有序数组进行合并
    连续子数组的最大和问题
    设计模式的学习
    Android基础总结(12)——XML和JSON解析
    Android基础总结(8)——服务
    x64 Assembly Tutorial 1 : Getting into x64 ASM from C++
    C# IL 指令集
    Unity3D教程宝典之地形
    Unity3D 动态改变地形 Unity3D Dynamic Change Terrain
    C#中String.format用法详解
  • 原文地址:https://www.cnblogs.com/dongwenbo/p/3916024.html
Copyright © 2011-2022 走看看