[学习笔记]stringByReplacingOccurrencesOfString返回值的两种情况
来源:互联网 发布:jni java传递byte数组 编辑:程序博客网 时间:2024/05/29 00:34
第一种(有发生替换):
如:
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:。
如:
NSString * s = @"sss";
NSString * x = [s stringByReplacingOccurre
返回一个新的指针,内容是@"xxx"。新指针的retainCount是1,不可以手动release,会autorelease。
第二种(没有发生替换):
如:
NSString * s = @"sss";
NSString * x = [s stringByReplacingOccurre
因为没有发生替换,所以返回值还是原来的指针,内容还是@"sss"。这时候s的retainCount会被加1。
相当于NSString * x = [[s retain] autorelease];
建议:
如果需要多次替换字符串中的字符,最好不要使用stringByReplacingOccurre
0 0
- [学习笔记]stringByReplacingOccurrencesOfString返回值的两种情况
- [学习笔记]stringByReplacingOccurrencesOfString返回值的两种情况
- [学习笔记]stringByReplacingOccurrencesOfString返回autorelease的新对象
- stringByReplacingOccurrencesOfString
- ExecuteNonQuery()返回值的几种情况
- 函数返回值的几种情况
- 函数返回值的几种情况
- 函数返回值的几种情况
- stringByReplacingOccurrencesOfString 生成新的NSString
- 两种情况的splitter
- git 两种情况的
- 函数返回值的情况
- C#linq和lamda两种写法返回的集合中的对象元素引用情况不同,循环计算值要小心
- 探讨read的返回值的三种情况
- 探讨read的返回值的三种情况
- 探讨read的返回值的三种情况
- 探讨read的返回值的三种情况
- 探讨read的返回值的三种情况
- 3月15 开始记录学习前端那些事
- 《将博客搬至CSDN》
- 使用 dbms_file_transfer 方式测试增量传输表空间XTTS
- MongoDB shell操作
- linux 下的时间获取函数
- [学习笔记]stringByReplacingOccurrencesOfString返回值的两种情况
- Strusts2数据校验的方法一(通过Action中的validate()方法实现)
- SSH学习之Hibernate的核心接口
- Python+pyqt4 山寨美图秀秀的美肤功能
- 问题 R: 柱状图表
- 细说flask表单flask-wtf
- Android开发简历书写的各个要点
- find q hdu
- 兴奋!