我们正在子类化UITabBarController
以及UITabBarControllerDelegate
处理与选项卡开关有关的某些事件。
现在在我们的自定义标签栏控制器中,我们有:
- (id)initCustomTabBarController {
self = [super init];
if(self) {
[self setDelegate:[[CustomTabBarControllerDelegate alloc] init]];
// ...
}
return self;
}
由于我们将项目转换为 ARC,因此委托被提前释放,这导致选项卡切换运行到已释放的实例中。
该属性定义为assign
-UITabBarController.h
我显然对此没有影响。
我该怎么做才能使委托对象“活”得比 init 方法长?