Object-C中NSMutableString的用法详解

NSMutableString继承与NSString,对NSString进行了扩展,使得生成的字符串对象可以修改。

NSMutableString的创建:

NSMutableString *string = [NSMutableString string];

不可以用以下方式创建:

NSMutableString *string = @"cannot create a new obj";

因为,左边指针类型是可变字符串类型,而右边是NSString类型。当对象string调用NSMutableString类型的方法时,就会出错。

NSMutableString类型有以下几个方法:

//在原来字符串中“loc”位置中插入一段字符串“aString”。
- (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc;

//删除原来字符串中的一段字符。
- (void)deleteCharactersInRange:(NSRange)range;

//在后面拼接一段字符串。
- (void)appendString:(NSString *)aString;

//在后面拼接一段根据格式定义的字符串。
- (void)appendFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);

//原来字符串全部修改为其它字符串
- (void)setString:(NSString *)aString;

NSMutableString和NSString的使用场景:

1.在超过5次以上的循环体中存在大量拼接和修改字符串时,尽量避免使用创建NSString对象,因为每次创建,如果字符串内容不同,会新开辟内存空间,循环次数过多会导致效率低。而使用NSMutableString对象,则只创建一次,不会重复开辟内存空间,因此,在次数多的循环体中效率较高。

2.平时普通字符串使用NSString对象,因为NSString在存在相同内容的内存中,不会新创建,而是将指针指向已经有的相同内容的字符串空间。效率较高。

猜你喜欢

转载自blog.csdn.net/JustinZYP/article/details/124205041