【发布时间】:2012-08-31 17:34:14
【问题描述】:
我的应用程序的内存管理存在一些问题。我分配了一个 NSView 类并将其放在我的一个 Windows 上。一段时间后,我从超级视图中删除了该对象,然后将另一个对象放在它的位置。我遇到的问题是当我删除它时没有释放内存。它继续保持与以前一样多的内存,如果我添加更多该类,它会继续堆积在内存中。我的问题是,即使在对象被删除之后,删除该对象是否会删除该类所持有的所有对象,或者是否保留了一些指针?如果需要,我可以发布代码。
谢谢!
编辑: 这是我用来分配它的代码
MyClass *theClass1 = [[MyClass alloc] initWithFrame:frameRect];
[self.window.contentView addSubview:theClass1];
这是我用来释放它的代码
[[self.window.contentView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
我在计时器上创建它,每分钟更新一次。我没有在其他任何地方引用它。
【问题讨论】:
-
你能分享你声明、创建、添加和删除子视图的代码吗?你在其他地方引用它吗?
标签: objective-c macos automatic-ref-counting