Iphone 是否未调用视图控制器的解除锁定?
我不知道为什么viewcontroller的dealloc没有调用 请参阅代码片段Iphone 是否未调用视图控制器的解除锁定?,iphone,viewcontroller,dealloc,Iphone,Viewcontroller,Dealloc,我不知道为什么viewcontroller的dealloc没有调用 请参阅代码片段 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES]; SaleItemsVC *itemsObj = [[SaleItemsVC alloc] i
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
SaleItemsVC *itemsObj = [[SaleItemsVC alloc] initWithNibName:@"SaleItemsVC" bundle:nil];
[self.navigationController pushViewController:itemsObj animated:YES];
EventSingleEntity *entityobj=(EventSingleEntity*)[arrSales objectAtIndex:indexPath.row];
itemsObj.eveintEntityRef=entityobj;
[itemsObj loadProductsOfEventId:entityobj.event_id];
itemsObj.EventTitle.text=entityobj.name;
itemsObj.EventEndDate.text=entityobj.end;
SalesCell *cell=(SalesCell*)[tableView cellForRowAtIndexPath:indexPath];
itemsObj.eventImage=cell.imgCenter.image;
[itemsObj release];
}
创建控制器itemsObj,因此ref count==1 将itemsObj推送到self.navigationController,refcount==2 您可以释放itemsObj ref count==1
在self.navigationController释放它之前,不应释放它。推送视图控制器不会导致父视图控制器释放或解除锁定。你为什么期望它发生?请告诉我们为什么你认为应该调用
dealloc
,这样我们就可以修复你头脑中的错误。我的应用程序包含5个视图控制器所有视图控制器都已正确释放,但仅此控制器有问题如果控制器在某个时候应该释放,然后检查保留周期。其他控制器是否都属于同一类(SaleItemsVC)?实际上,网络控制器的委托是Retain类型。。所以这是一个根本原因。