替换NSString中的字符

The*_*One 1 memory objective-c nsstring ios

我想在我的代码中擦除NSString对象(将每个字符替换为0).

为此,我尝试了这个:

NSString *myString;
for (int i=0; i<[myString length]; i++) 
{
myString[i] = 0;
}
Run Code Online (Sandbox Code Playgroud)

但是它没有编译:" myCtring [i] = 0 "中的"赋值中的不兼容类型" ;

我理解,但我不能使用功能stringByReplacingOccurancesOfString因为它创造了一个新的对象,我想在我的第一个目的是替换字符.

有帮助吗?

alb*_*amg 7

NSString是不可变的,这意味着一旦创建它就无法更改其内容.你有NSMutableString用于此目的.

此外,您无法使用以下语法访问NSStringNSMutableString使用以下语法:

myString[i] = 0;
Run Code Online (Sandbox Code Playgroud)

NSStrings和NSMutableStrings是对象,您可以通过向对象发送消息来处理对象.举例来说,你有characterAtIndex:方法,返回给定索引处的字符,或者NSMutableStringreplaceOccurrencesOfString:withString:options:range:替换给定的字符串中出现的所有与另一指定字符串给定的范围内.