重新分配对象会导致内存泄漏吗?

时间:2014-08-28 08:11:50

标签: ios objective-c memory-leaks

我正在慢慢学习Obj-C,所以如果这是一个菜鸟问题,我很抱歉。

在我的应用程序中,我有一个名为Object的类,它只包含一堆变量。

Object *object = [[Object alloc] init];

我在程序中的Static Singleton对象中创建了这个类的实例。然而,我注意到每当我创建它的新实例(我有一个调用resetObject方法的按钮)时,我的内存使用量就会增加。

// DataBank.h
 Object *object;

// DataBank.m
- (void)resetObject {
   object = [[Object alloc] init];
  }

我猜这可能是因为旧的Object实例没有被释放?我尝试解除分配,但我发现错误,ARC不允许这样做。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:-1)

您可以尝试按如下方式修改代码吗?

// DataBank.m
- (void)resetObject {
   if (object)
   { [object release];}
   object = [[Object alloc] init];
}