点击后退按钮后,UINavigationController不释放内存

时间:2014-06-26 05:51:21

标签: ios memory-leaks uinavigationcontroller

我有一个mainViewController和一个secondViewController。使用segue(iOS 7应用程序)推送SecondViewController 问题是,当点击后退按钮并且应用程序返回到mainViewController时,第二个ViewController内存不会被释放。

在准备塞片时,我不做任何分配。我只是为SecondViewController设置了委托(也就是下面的cvc)。 CollectionViewController(又名SecondViewController)非常大,因此用户在主VC和SecondViewController之间来回切换内存使用量不断增加,应用程序最终崩溃。

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"Show Gallery"]) {
    CollectionViewController *cvc =  (CollectionViewController *)segue.destinationViewController;
    cvc.delegate = self;
}
}

此外,代表是一个弱参考:

@property (weak, nonatomic) id <collectionCellSelectedDelegate> delegate;

1 个答案:

答案 0 :(得分:0)

本地化问题的信息不足。

您确定CollectionViewController对象是否泄漏?我的意思是问题可能是由CollectionViewController代码中使用的非释放子对象引起的。您可以尝试使用Profiler Xcode Instrument来澄清它。

此问题也可能是由自定义UIStoryboardSegue子类引起的(当然,如果您正在使用它)。

无论如何,看看故事板和CollectionViewController代码

会很棒
相关问题