我正在慢慢学习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不允许这样做。有没有办法解决这个问题?
答案 0 :(得分:-1)
您可以尝试按如下方式修改代码吗?
// DataBank.m
- (void)resetObject {
if (object)
{ [object release];}
object = [[Object alloc] init];
}