【字符串学习笔记】----------语法

第一种(有发生替换):

NSString * s = @"sss";

NSString * x = [s stringByReplacingOccurrencesOfString:@"s" withString:@"x"];

返回一个新的指针,内容是@"xxx"。新指针的retainCount是1,不可以手动release,会autorelease。

第二种(没有发生替换):

NSString * s = @"sss";

NSString * x = [s stringByReplacingOccurrencesOfString:@"y" withString:@"x"];

因为没有发生替换,所以返回值还是原来的指针,内容还是@"sss"。这时候s的retainCount会被加1。

相当于NSString * x = [[s retain] autorelease];

建议:

如果需要多次替换字符串中的字符,最好不要使用stringByReplacingOccurrencesOfString。应该使用NSMutableString的实例方法replaceOccurrencesOfString:withString:options:range:。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容