adi*_*dit 1 iphone memory-management objective-c
如果我有一个对象怎么办,比如NSIndexPath,在我复制之前我总是先发布它?
内存数量是否可以低于0?我这样做是为了防止内存泄漏..这是一个好方法吗?
//全球已经在这里之前有一定的价值,或者没有价值.我想更新
//这个新值(我不再关心老指针)
[global release]
global = [indexPath copy];
Run Code Online (Sandbox Code Playgroud)
别.当保留计数达到0时,您的对象将被释放并且其指针将变为无效,因此再次使用它将导致不可预测的结果(即崩溃).
您应该阅读Apple的内存管理指南.
这是基本规则:
更新:
正如Josh指出的那样,你需要考虑的一个案例是global和indexPath是相同的.在这种情况下,您仍然"需要"指针(执行复制),因此您要么自动释放(而不是释放),要么使用临时变量来处理它.
| 归档时间: |
|
| 查看次数: |
359 次 |
| 最近记录: |