• 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:我来了
  • 相关阅读:
    报表中的Excel操作之Aspose.Cells(Excel模板)
    .NET开源组件
    JSON 和 JSONP
    servlet 中getLastModified()
    spring mvc源码-》MultipartReques类-》主要是对文件上传进行的处理,在上传文件时,编码格式为enctype="multipart/form-data"格式,以二进制形式提交数据,提交方式为post方式。
    spring mvc dispatcherservlet处理request流程
    log显示error时的堆栈信息理解和分析
    web项目log日志查看分析->流程理解
    war包结构
    Spring Boot干货系列:(三)启动原理解析
  • 原文地址:https://www.cnblogs.com/dongwenbo/p/3916024.html
Copyright © 2020-2023  润新知