启用 ARC 后,我有一个属性
@property (strong, nonatomic) NSMutableArray *arr;
我将其分配为
self.arr = [NSMutableArray array];
我有一个自定义对象 ERSearchView,我分配它并将其添加到 arr
ERSearchView *SV = [[ERSearchView alloc] initWithDelegate:nil];
[arr addObject:SV];
在我的搜索视图中,我已经覆盖了该dealloc
方法,因为似乎搜索视图没有被释放:
- (void)dealloc {
self.delegate = nil;
NSLog(@"deallocated search view");
}
当我弹出视图控制器时,它不会被调用。但是,如果我在视图控制器中将 arr 变量设为 nil,dealloc
我会看到搜索视图已被删除的日志消息。
任何人都可以解释为什么内部arr
的对象没有被释放,尽管视图控制器是 100% 释放的,因为我在其中有“dealloc”消息dealloc
?