zoukankan      html  css  js  c++  java
  • NSMutableString和NSString区别,及相互转换方法

    NSString是一个不可变的字符串对象。这不是表示这个对象声明的变量的值不可变,而是表示它初始化以后,你不能改变该变量所分配的内存中的值,但你可以重新分配该变量所处的内存空间。而NSMutableString是可变的,意味着你可以追加它的内存空间,或者修改它所分配的内存空间中的值。
    
        因为NSMutableString和NSString的差别,所以他们之间的互相转换使用使用合适的方法。
         
        将NSMutableString转换成NSString有下列几种方法:
        第一种,使用NSString stringWithString:方法
            NSString *immutableString2 = [[yourMutableString copy] autorelease];  
            NSLog(@"immutableString2=%d,%d",immutableString2 ,yourMutableString);  
         
        第二种,使用NSMutableString copy方法
            NSString *immutableString2 = [[yourMutableString copy] autorelease];  
            NSLog(@"immutableString2=%d,%d",immutableString2 ,yourMutableString);  
        第三种,使用(NSString *)类型强制转换方法
            NSString *immutableString3 = (NSString *)yourMutableString;  
            NSLog(@"immutableString3=%d,%d",immutableString3 ,yourMutableString);  
         
        第四种,使用NSString stringWithFormat:方法    
            NSString *immutableString4 = [NSString stringWithFormat:@"%@",yourMutableString];  
            NSLog(@"immutableString4=%d,%d",immutableString4 ,yourMutableString);  
        如果使用不当,将会出现这样的错误"Incompatible pointer types assigning NSMutableString to NSString"
  • 相关阅读:
    acm 总结之大数加法
    hdu 1004
    hdu 1887
    hdu 2007
    hdu 2004
    ACM总结之 A+B problem 总结
    nyoj_42_一笔画问题_201403181935
    最短路径--Floyd算法
    最短路径—Dijkstra算法
    nyoj_114_某种序列_201403161700
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/10177666.html
Copyright © 2011-2022 走看看