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(@"\n"); 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(@"\n"); 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(@"\n"); 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(@"\n"); 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:我来了