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没有改变。