1

我有一个应用程序,我想在其中显示一些内容的 CustomView(继承自 UIView)。但是我在运行时的每一点都不需要它,所以我想创建它并删除它以避免浪费内存。

我在单独的 nib 文件中有这个视图。并在 viewController 中使用此代码加载它:

NSArray *arr = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil];

for (id object in arr) {
    if ([object isKindOfClass:[MyCustomView class]])
        self.myCustomView = (MyCustomView *)object;
}  

[self.view addSubview:self.myCustomView];

myCustomView 是 viewController 的属性

@property (nonatomic, strong) IBOutlet MyCustomView *myCustomView;

但是在 Instruments 中我可以看到#Living 是 3(例如,当我调用上面的代码 3 次时),#Transitory 仍然是 1,而 #Overall 是 4。这意味着 MyCustomView 泄漏:( 当我设置self.myCustomView = nil它时它是无用的:(

有人可以帮我解决这个泄漏吗?我正在使用ARC。

4

1 回答 1

0

我认为[MyCustomView removeFromSuperview]会完成这项工作。:)

于 2013-04-16T19:50:07.637 回答