Iphone 从内存中完全删除视图

Iphone 从内存中完全删除视图,iphone,objective-c,memory,uiview,Iphone,Objective C,Memory,Uiview,我有一个视图是幻灯片设置,另一个视图是幻灯片。不幸的是,这些视图冲突,因为它们仍在内存中 据我所知,viewDidUnload和dealloc只在内存不足的情况下被调用,不应该直接调用dealloc,所以我如何完全删除视图。顺便说一句,这些视图位于uinavigationcontrollers中。如果您使用UINavigationController添加了视图,请使用将其删除 伪代码: UIView *newView = [[UIView alloc] init]; // retain = 1

我有一个视图是幻灯片设置,另一个视图是幻灯片。不幸的是,这些视图冲突,因为它们仍在内存中


据我所知,viewDidUnload和dealloc只在内存不足的情况下被调用,不应该直接调用dealloc,所以我如何完全删除视图。顺便说一句,这些视图位于uinavigationcontrollers中。

如果您使用UINavigationController添加了视图,请使用将其删除

伪代码:

UIView *newView = [[UIView alloc] init]; // retain = 1 
[UINavigationController pushView: newView]; // retain = 2 
[newView release]; //retain = 1

[UINavigationController popView]; //retain = 0, object will get destroyed

这并没有把它从记忆中删除,只是屏幕我编辑了我的答案以反映你的问题。弹出视图会释放视图,因为按下视图会保留视图。如果您没有看到视图被破坏,那么您就没有在分配它的函数中释放它。