1. 程式人生 > >NSMutableString和NSString區別,及相互轉換方法

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"