Questions tagged «dealloc»

1
自定义dealloc和ARC(Objective-C)
在我的小iPad应用程序中,我具有使用观察者的“切换语言”功能。每个视图控制器在其运行期间向我的观察者注册viewDidLoad:。 - (void)viewDidLoad { [super viewDidLoad]; [observer registerObject:self]; } 当用户单击“更改语言”按钮时,新语言将存储在我的模型中,并通知观察者并调用updateUi:其已注册对象上的选择器。 这非常有效,除了在TabBarController中具有视图控制器时。这是因为在加载选项卡栏时,它会从其子控制器中获取选项卡图标,而无需初始化视图,因此viewDidLoad:不会调用它,因此这些视图控制器不会收到语言更改通知。因此,我将registerObject:调用移到了init方法中。 回到我以前viewDidLoad:向观察员注册时,我曾经viewDidUnload:注销过。由于我现在正在注册init,因此取消注册非常有道理dealloc。 但是,这是我的问题。当我写: - (void) dealloc { [observer unregisterObject:self]; [super dealloc]; } 我收到此错误: ARC禁止显式发送消息“ dealloc” 由于我需要致电[super dealloc]以确保正确清理超类,但是ARC禁止这样做,所以我现在陷入困境。当我的物体快要死时,还有另一种方法来通知我吗?

5
在Swift中解除分配
我想在视图控制器寿命结束时执行一些清除操作,即删除NSNotificationCenter通知。实现dealloc结果会导致Swift编译器错误: Cannot override 'dealloc' which has been marked unavailable 在Swift中,在对象生命周期结束时执行某些清理的首选方法是什么?
145 swift  dealloc 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.