如何替换 objective c 中 NSMutablestring 的内容

how to replace the content of NSMutablestring in objective c

我是 objective c 的新人。我想替换可变字符串的内容我正在使用代码 as

NSMutableString *myMutableStringObj = [myMutableStringObj stringByReplacingOccurrencesOfString:@" & " withString:@"And"];

但它向我显示警告 从 NSString *

分配给 NSMutableString * 的无与伦比的指针类型

对此有任何建议。我正在使用 MutableString

它告诉你这个函数returns NSString *。如果你想清除那个警告。就像这样:

NSMutableString *myMutableStringObj = [[myMutableStringObj stringByReplacingOccurrencesOfString:@" & " withString:@"And"] mutableCopy];

请参阅 NSString Class 中的方法签名。

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target
                                        withString:(NSString *)replacement

此方法return NSString 对象。

所以你需要将结果转换成mutalbe字符串或者在NSString中捕获结果。

请使用此代码

 NSMutableString * str1 = [NSMutableString stringWithString:@"Hello Testing"];
    str1 = [[str1  stringByReplacingOccurrencesOfString:@"T" withString:@"B"] mutableCopy];
    NSLog(@"%@",str1);

阅读 NSString 和 NSMutableString 的文档。这不仅适用于您,也适用于到目前为止在这里回答的任何人。该线程上的答案绝对令人沮丧。

有些方法可用于 NSString,但也可与 NSMutableString 一起使用,这些方法基于先前的字符串创建新的不可变字符串。通常以 "stringBy..." 开头的方法将创建一个新字符串。

并且在 NSMutableString 接口中有一些方法可以修改 现有 NSMutableString 的内容。喜欢"replaceOccurencesOfString"。

阅读文档并选择适合您的内容。以 "stringBy" 开头的方法 而不是 会修改您的可变字符串,它会创建一个新的不可变字符串。要修改 一个字符串,请使用 NSMutableString 接口中的方法。幸运的是,当您使用错误的方法时,编译器会告诉您。