NSStirng临时对象
来源:互联网 发布:linux 查看网络日志 编辑:程序博客网 时间:2024/06/07 02:59
问题描述:
今天编程时发现一个问题,我声明了一个VC类的成员变量NSString *curRow;
并在ViewDidLoad方法中,为curRow分配内存curRow = [[NSString alloc]init];
在一个私有函数中为这个变量赋值,curRow = [NSString stringWithFormat:"%d", 7];
在另一个私有函数中使用这个变量就崩溃了。
问题分析:
NSString的stringWithFormat方法是创建临时字符串对象的,学习的时候只听说它会不定时析构释放内存。可能是因为这个造成的。
解决方法:
把在ViewDidLoad方法中,为curRow分配内存curRow = [[NSString alloc]init];这句代码去掉。
然后将curRow = [NSString stringWithFormat:"%d", 7];修改成curRow = [NSString alloc]initWithFormat:"%d",7];
这样这个NSSting就成永久对象了,那么需要你自动调用内存释放函数[curRow release];
0 0
- NSStirng临时对象
- 临时对象
- 临时对象
- 临时对象
- 临时对象
- 临时对象
- 临时对象
- 临时对象
- 临时对象
- 临时对象研究手记
- 删除临时对象
- C++中的临时对象
- 临时对象生命周期问题
- c++临时对象
- C++中的临时对象
- C++中的临时对象
- c++临时对象
- 临时对象问题
- 【learning opencv】01.图像的显示(C++版本)
- 提升移动设备响应式设计的8个建议
- Android杂谈--打开文件的Intent及使用
- 假分数样式标注
- loading页面加载用
- NSStirng临时对象
- Algorithm Gossip: 阿姆斯壮数
- java定时任务处理方法
- iOS中如何避免图像解压缩的时间开销
- 9.3、Libgdx手势检测
- 从运行原理及使用场景看Apache和Nginx
- extern "C" C和C++混合编程问题
- POJ 1260-Pearls(dp)
- MSSQL示例(二)将一列多行拼接为一行