IOS - NSMutableString 转 NSString

在代码中看到这样一个方法,突然想到,我如何正确的将NSMutableString转到NSString;
- (NSString *)getspaceLevel:(NSInteger)level{
    NSMutableString *mustr = [[NSMutableString alloc]init];
    for (NSInteger i=0; i

这行代码中最后的copy的意义在哪儿,是否能达到目的-转换成NSString不可变类型,而且发生了深拷贝。

回顾一下深浅拷贝的知识

NSString copy -> 浅拷贝,仅仅拷贝内存地址
NSString mutableCopy -> 深拷贝,拷贝对象本身,内存地址不同

似乎这里的copy操作(还是mutableCopy操作),都不能将可变字符串转换成不可变字符串,所以此处的copy,有点智障!虽然是我写的。。。

回到话题,如何处理比较合适

搓就搓点,我上个代码

@implementation NSMutableString (Util)
- (NSString *)toString{
    return [self substringFromIndex:0];
}
@end

这个利用了截取字符串返回的是不可变NSString的特征。
结束

你可能感兴趣的:(IOS - NSMutableString 转 NSString)