【发布时间】:2015-04-06 15:06:18
【问题描述】:
我有点困惑,因为我的 dealloc 没有在 ARC 中调用。我在我的应用程序中使用了故事板。
案例 1:当我使用故事板中的所有 IBOutlet 时调用 Mydealloc
案例 2:当我尝试在 UIViewController 中使用 alloc 和 init 方法时,没有调用我的 dealloc。如下所示。
UIViewController *vc = [[UIViewController alloc] initWithNibName:@"ProfileDetailView" bundle:nil];
__weak ProfileDetailView *detailview = (ProfileDetailView *)vc.view;
detailview.backgroundColor = [UIColor clearColor];
vc = nil;
....Set value in object.....
[self.view addSubview:detailview];;
detailview = nil;
你能解释一下为什么不调用dealloc 吗?以及我怎样才能实现调用dealloc?
谢谢
【问题讨论】:
-
使用
_weak并将变量设置为 nil 会使事情变得更加复杂。一般来说,Objective-C 在幕后处理对象的生命周期就好了。
标签: ios automatic-ref-counting dealloc