Objective-C:发布视图的点
Posted
技术标签:
【中文标题】Objective-C:发布视图的点【英文标题】:Objective-C: Point of releasing a View 【发布时间】:2010-06-26 19:23:16 【问题描述】:我用 TableView 制作了一个静态主菜单。有时它会崩溃,因为我的子视图已经释放了一个子视图。
在本地对象的dealloc方法中释放一个View也可以,而不是那个:
[NavController pushViewController:self.AnotherView animated:YES];
[self.AnotherView release]; //This line into (void)viewDidLoad
AnotherView 在头文件中定义为属性,并在 .m 文件中同步
当我使用 dealloc 方式时,它在设备上运行良好,但我需要知道这是否正确。
【问题讨论】:
【参考方案1】:您只为您自己init
或alloc
的对象调用释放。如果它是您班级的属性,那么您班级的dealloc
中的release
。
所以在你的情况下,除非你在示例代码上方几行 init
anotherView
(相同的方法),在你将导致泄漏/SIG_ABORT 的地方调用 release
,因为你已经这样做了过早的。
请随意发布更多代码,特别是如何分配另一个视图,您可能会得到更具体的答案。
【讨论】:
发布将导致双重释放,而不是泄漏。 是的。我试图了解西蒙收到的错误。但是,这是一个过早的发布。 TWSS以上是关于Objective-C:发布视图的点的主要内容,如果未能解决你的问题,请参考以下文章
Swift:关闭 viewController 1 然后呈现 viewController 2
带有延迟 NSMenu 的 NSButton - Objective-C/Cocoa