- (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString;
replaceOccurrencesOfString:withString:options:range:
------------------
在NSString中,需要用一个字符代替NSString字符串里面的某个特别的字符,此时使用[NSString stringByReplacingOccurrencesOfString: withString:];
而在string中,需要用一个字符代替string字符串里面的某个特别的字符,此时使用
[string replaceOccurrencesOfString:(NSString *) withString:(NSString *)]
------------------
setString:
当你创建了一个可变的字符串,该setString:方法可以让你指定一个新值实例:
NSMutableString* str = [NSMutableString stringWithString:@"Hello World!"]; [str setString:@"Bad World!"]; NSLog(@"%@", str);
2014-03-06 09:09:21.871 prog1[53569:303] Bad World!
--------------------
什么时候用可变字符串呢?
看二段代码
NSString * indices = @"" ; for ( int i = 0 ; i < 1000 ; i ++ ) { indices = [ indices stringByAppendingFormat: @"%d" , i ]; }
循环一千次占用内存:1.76MB,不要问我怎么来的,我也在想知道。是我翻译来的。原文看参考。
NSMutableString * indices = [ NSMutableString stringWithCapacity: 1 ]; for ( int i = 0 ; i < 1000 ; i ++ ) { [ indices appendFormat: @"%d" , i ]; }
可变的字符串,循环一千次占内存19 KB,此类型能动态改变变量的长度。占一字节或二字节,太好了。这功能。
参考:http://rypress.com/tutorials/objective-c/data-types/nsstring.html