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:我来了
原文地址:https://www.cnblogs.com/dongwenbo/p/3916024.html