2

当我将语句与 stroyboard 一起使用时,我目前发现一个真正的问题

SomeViewController *homeView = [self.storyboard instantiateViewControllerWithIdentifier:@"someID"];
[self.navigationController pushViewController:homeView animated:YES completion:NULL];

当我使用

[self.navigationController popViewControllerAnimated:YES];

在我推送的视图控制器中,内存没有得到释放(我正在使用 ARC)

但是,如果我使用

[self performSegueWithIdentifier:@"pushToHomeView" sender:self];

当我从 homeView 的内存中弹出时被释放。

我真的很想知道为什么以编程方式推送视图会给我这个问题。

4

1 回答 1

0

我认为推送视图程序仅适用于 xib 文件和故事板的 segue。当使用带有弧内存的 segue 时,会自动释放。这是带有故事板的 arc 内置的功能。这就是我在故事板中发现的。我在我的一个项目中遇到了这种情况,最后得出结论,执行 segue 正在释放内存。希望这会有所帮助,但这只是我的经验。阿德里安

于 2012-10-16T01:24:09.347 回答