NSMutableString转换成NSString的N种方法

来源:互联网 发布:淘宝店铺找回 编辑:程序博客网 时间:2024/05/24 22:44

NSString是一个不可变的字符串对象。这不是表示这个对象声明的变量的值不可变,而是表示它初始化以后,你不能改变该变量所分配的内存中的值,但你可以重新分配该变量所处的内存空间。而NSMutableString是可变的,意味着你可以追加它的内存空间,或者修改它所分配的内存空间中的值。

因为NSMutableString和NSString的差别,所以他们之间的互相转换使用使用合适的方法。

将NSMutableString转换成NSString有下列几种方法。

第一种,使用NSString stringWithString:方法

C代码  收藏代码
  1. NSMutableString * yourMutableString=@"It is yourMutableString";  
  2.   
  3. NSString *immutableString = [NSString stringWithString:yourMutableString];  
  4.   
  5. NSLog(@"immutableString=%d,%d",immutableString ,yourMutableString);  
 



第二种,使用NSMutableString copy方法

C代码  收藏代码
  1. NSString *immutableString2 = [[yourMutableString copy] autorelease];  
  2.   
  3. NSLog(@"immutableString2=%d,%d",immutableString2 ,yourMutableString);  
 



第三种,使用(NSString *)类型强制转换方法

C代码  收藏代码
  1. NSString *immutableString3 = (NSString *)yourMutableString;  
  2.   
  3. NSLog(@"immutableString3=%d,%d",immutableString3 ,yourMutableString);  
 

第四种,使用NSString stringWithFormat:方法

C代码  收藏代码
  1. NSString *immutableString4 = [NSString stringWithFormat:@"%@",yourMutableString];  
  2. NSLog(@"immutableString4=%d,%d",immutableString4 ,yourMutableString);  
 



如果使用不当,将会出现这样的错误"Incompatible pointer types assigning NSMutableString to NSString"。


0 0
原创粉丝点击