`
mikixiyou
  • 浏览: 1100750 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
C3c8d188-c0ab-3396-821d-b68331e21226
Oracle管理和开发
浏览量:353704
社区版块
存档分类
最新评论

NSMutableString转换成NSString的N种方法

    博客分类:
  • iOS
阅读更多

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

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

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

 

(miki西游 @mikixiyou 原文链接: http://mikixiyou.iteye.com/blog/1631106 )

第一种,使用NSString stringWithString:方法

    NSMutableString * yourMutableString=@"It is yourMutableString";

    NSString *immutableString = [NSString stringWithString:yourMutableString];

    NSLog(@"immutableString=%d,%d",immutableString ,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"。

分享到:
评论

相关推荐

    NSString_NSMutableString

    Objective-C里核心的处理字符串的类就是NSString和NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理。这两个类的最主要的区别是NSString创建赋值后不能动态修改长度和内容,除非给重新...

    NSString扩展

    该文件通过宏定义提供了一些简单的字符串格式化方法,这些方法可以帮助开发者快速地将数值类型转换成字符串。 - `NSStringFromInt`: 将整型数字转换为字符串。 - `NSStringFromFloat`: 将浮点型数字转换为字符串。 -...

    ios_NSString转成16进制Demo

    1. **获取NSString的UTF8编码**:NSString可以通过`dataUsingEncoding:`方法转换为NSData,通常选择UTF8编码。 ```objc NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; ``` 2. **遍历NSData的每一...

    NSString+ReplaceUnicode

    `strtol`函数用于将十六进制字符串转换为整数,然后通过`unichar`类型转换成字符。 在实际应用中,这个扩展可以极大地简化处理Unicode编码字符串的流程,使得开发者能够更加便捷地处理包含Unicode的中文字符串,...

    objective-c十进制转换成16进制

    这里我们将介绍两种方法: 1. 使用NSString的`stringWithFormat:`方法: 这种方法利用了C语言的格式化字符串功能。例如,要将整数`intValue`转换为十六进制字符串,你可以这样做: ```objc int intValue = 1234...

    NSString帮助文档

    1. **性能优化**:对于需要频繁修改的字符串,考虑使用 `NSMutableString` 而不是 `NSString`。 2. **国际化**:确保使用 `NSLocalizedString` 函数来处理需要本地化的字符串。 3. **安全性**:在处理用户输入时,应...

    OC-NSString为什么用copy修饰而不是用strong

    但是,如果字符串对象是由可变字符串NSMutableString转换过来的,情况就有所不同。 例如,我们有一个NSMutableString对象,然后将其赋值给一个声明为`strong`的NSString属性: ```objc NSMutableString *...

    NSStringDemo

    在`NSStringAndNSMutableString`这个示例中,我们可以预期看到一系列的代码实例,演示了如何在Objective-C项目中创建、操作和管理这两种字符串类型。这包括字符串的初始化、比较、格式化、拼接、分割、查找和替换等...

    Objective-C中字符串操作总结

    Objective-C是一种用于开发iOS应用的主要编程语言,其字符串操作主要依赖于NSString类和NSMutableString类。NSString用于创建不可变字符串对象,而NSMutableString则用于创建可变字符串对象。以下是Objective-C中...

    oc字符串操作.pdf

    Objective-C提供了两种主要的字符串类型:`NSString` 和 `NSMutableString`。`NSString` 是不可变的,一旦创建就无法修改,而 `NSMutableString` 支持在字符串上进行各种修改操作。 首先,我们来看`NSString`的使用...

    iOS数组和字典转JSON格式

    这个类方法用于将JSON数据转换为Objective-C对象(如数组或字典)。 2. `- (NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error` 这个实例方法用于将Objective-C...

    object c中关于foundation类得ppt

    - **格式化字符串**:可以通过`[NSString stringWithFormat:]`方法来创建格式化的字符串,例如`[NSString stringWithFormat:@"Hello, %s!", name]`。 - **NSMutableString**: - **定义**:NSMutableString继承自...

    正则表达式在IOS中的应用及IOS中三种正则表达式的使用与比较

    - `NSString` 和 `NSMutableString` 的方法简单易用,适合快速验证或操作字符串,但功能相对有限。 - 选择哪种方式取决于具体需求的复杂度和性能要求。如果需要处理复杂的匹配和操作,`NSRegularExpression` 是最佳...

    OC-初学者基础-字符串

    追加字符串通常使用`appendString:`或`stringByAppendingString:`方法(对于NSMutableString对象),对于NSString对象,需要先创建NSMutableString实例: ```objc NSMutableString *str1 = [NSMutableString ...

    iOS 显示汉字的Unicode和UTF-8编码

    这个转换过程可以通过`NSString`的`dataUsingEncoding:`方法完成: ```swift let data = chineseCharacter.data(using: .utf8) ``` 这段代码会将`chineseCharacter`转换成UTF-8编码的数据,可以用于网络传输或者...

    Objective-C中字符串NSString的常用操作方法总结

    - 使用`stringWithFormat:`方法,可以根据指定的格式插入变量,如将整型`int`或浮点型`float`、`double`转换为字符串,例如`[NSString stringWithFormat:@"this person age is %d", age]`。 - 当需要插入NSString...

    iOS的MD5加密

    - 创建一个`NSData`对象,将`NSString`的UTF8编码转换成二进制数据。 - 使用`CC_MD5`函数(来自`CommonCrypto`框架)计算数据的MD5摘要。 - 将16字节的MD5摘要转换为32字符的十六进制字符串。 - 返回这个十六...

    oc字符串操作[归类].pdf

    `NSString`和`NSMutableString`是OC中处理字符串的主要类。`NSString`代表不可变字符串,一旦创建就不能修改,而`NSMutableString`则允许对字符串进行修改。 1. **NSString(静态字符串)操作**: - **声明字符串*...

    实现Unicode码转换成中文汉字案例

    该库可能包含一个类别(Category)或者扩展(Extension)在NSString或NSMutableString上,添加了一个方法来将Unicode编码转换为对应的汉字。例如,可能有一个方法名为`+ (NSString *)stringWithUnicode:(NSString *)...

    iphone存储用法汇总

    - 使用`compare:`方法,该方法返回三种比较结果:NSOrderedAscending、NSOrderedSame、NSOrderedDescending。 #### NSMutableString `NSMutableString`提供了可变字符串的功能,允许在运行时添加、删除或替换文本...

Global site tag (gtag.js) - Google Analytics