iphone - 设置对象 nil 与 release+realloc

标签 iphone objective-c ios cocoa-touch cocoa

这不是垃圾收集环境

我有一个类实例变量,在我运行时的某个时刻,我需要使用不同于最初构造的数据集重新初始化。

假设地说,如果我有一个 NSMutableArray 或一个 NSMutableDictionary,做一些事情会更有效吗,例如:

[myArr release];
myArr  = [[NSMutableArray alloc] init....];

或者只是,

myArr = nil;

myArr 会释放对象并让我没有指向内存中存储的指针以便我可以重新使用 myArr 吗?

最佳答案

如果您单独执行 myArr=nil;,那么您将丢失可以将 release 消息发送到的指针。 释放您的对象没有魔法。

而且,正如 Georg 所说,如果无法释放您的对象,则该内存已“泄漏”。

关于iphone - 设置对象 nil 与 release+realloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/626879/

相关文章:

iphone - NSFetchRequest,查询多个属性?

ios - 如何确定当前的 iPhone/设备型号?

iphone - iphone 有什么好的统计可视化库吗?

ios - 使用没有选择器部分(名称)的方法签名是否正确

ios - 尝试在 ios 中保存大量数据时出现内存问题

Objective-C - 根据用户输入的查询搜索街道

ios - AFNetworking https 自签名证书

ios - parse.com 1.6崩溃分析不起作用

ios - 如何将屏幕尺寸和 uiview 设置为比例格式以适用于所有屏幕

ios - 如何在 Objective-C 中从 HTML 读取 JSON-LD 数据?