这里我怀疑我有一个没有Superview的MasterViewController,而且我有全局声明的标签,也用于不同的功能。 我的问题是如何释放那些已分配的标签。如果我使用自动释放,那么它会产生异常。
- (id)init {
if(self = [super init]) {
mview = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
//mview.backgroundColor=[UIColor clearColor];
mview.autoresizesSubviews=YES;
tableView = [[UITableView alloc] initWithFrame:CGRectMake(0,220,320,440) style:UITableViewStyleGrouped];
tableView.delegate = self;
tableView.dataSource = self;
tableView.rowHeight = 45;
tableView.backgroundColor = [UIColor clearColor];;
tableView.separatorColor = [UIColor blackColor];
[tableView setSectionHeaderHeight:15];
[tableView setSectionFooterHeight:10];
[mview addSubview:tableView];
}
for example here I declared table view as global how can i release it?Is it possible to release in dealloc.I place a printf statement in dealloc but it was not displaying.
Anyone's help will be appreciated.
Thank you,
Monish Kumar.
答案 0 :(得分:0)
首先,真的没有必要在全球范围内宣布这么多东西,真的是你应该只把它作为最后的手段。所以我会尝试重做你的代码来避免这种情况。
听起来你真的需要在Instruments中运行Zombies乐器,并为环境变量启用NSZombiesEnabled为YES,并查看对象保留计数的位置是否增加&递减,并且消息的僵尸对象的第一个实例在哪里。