1
5
在博客文章中,问题是我们是否必须手动释放IBOutlets。事实证明我们应该这样做。这是可复制的iOS3.1.3,但我没有测试它在iOS4.0尚未。
在这种情况下,你应该搜索其他地方。 例如,我在这个问题中遇到的另一个问题:
不断更新用户界面。但我忘了的是,NSTimer将保留 对象(它是ViewController)。因为NSTimer保留了您的视图控制器,所以您的dealloc将永远不会被调用,因为有人(NSTimer)仍然保留在它上面。因此,您必须确保在dealloc方法之前使NSTimer无效,才能正确地释放视图控制器。
Edit2回应如下评论:
因此,它首先释放当前self.target,然后保留新值。因为你分配的是零,你的目标将是零。关于属性的更多信息可以在Apple文档中找到。 |
2
2
我也见过这个。正如你所指出的,我还没有在文档中看到任何明确的内容,但我相信它们会被保留在内存中,直到需要内存为止。从性能的角度来看,这样做是有意义的,因为这样做可以让应用程序在不同的视图之间快速导航。 底线是,我不会担心的。你可以发射一些 内存不足警告 |
WkWk · Apple Watch动作通知不起作用 2 年前 |
Otavio Miguel · 在手机中保留我自己未发布的ios应用 2 年前 |
Nico Passaglia · 移动键盘向上移动站点 6 年前 |