84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
我只用过NSString,因为NSString有append的方法,完全能够胜任拼装字符串的操作。 貌似NSString的mutable比NSArray和NSDictinary相比没啥用处 求解,NSMutableString到底再哪些方面跟NSString有区别,什么时候要用NSMutableString
小伙看你根骨奇佳,潜力无限,来学PHP伐。
主要是为了频繁操作字符串时性能考虑引入的NSMutableString。如果你打印NSMutableString的类型出来,会发现这实际上不是一个string,而是一个stream。
strA = [strA stringByAppendingString:@"xxx"];//需重新生成对象
和
[mutableStrA append:@"xxx"];//不需重新生成对象
分别执行一千次,看看时间
这个string对象的值是可以改变的。
查文档你会发现比NSString多了这些方法:
– appendFormat: – appendString: – deleteCharactersInRange: – insertString:atIndex: – replaceCharactersInRange:withString: – replaceOccurrencesOfString:withString:options:range: – setString:
经过这些方法操作后,这个对象的值是变化的。
比如
NSMutableString *s = [NSMutableString string]; [s appendString:@"test"]; NSLog(@"%@",s);
打印出来的值是test。
而NSString也有对应的方法
比如:stringByAppendingString
NSString *s1 = @"origin"; NSString *s2 = [s stringByAppendingString:@"-test"]; NSLog(@"s1 :%@",s1); NSLog(@"s2 :%@",s2);
打印后:
s1 :origin s2 :origin-test
注意s1没有改变。
主要是为了频繁操作字符串时性能考虑引入的NSMutableString。如果你打印NSMutableString的类型出来,会发现这实际上不是一个string,而是一个stream。
和
分别执行一千次,看看时间
这个string对象的值是可以改变的。
查文档你会发现比NSString多了这些方法:
经过这些方法操作后,这个对象的值是变化的。
比如
打印出来的值是test。
而NSString也有对应的方法
比如:stringByAppendingString
打印后:
注意s1没有改变。