Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 是否未调用视图控制器的解除锁定?_Iphone_Viewcontroller_Dealloc - Fatal编程技术网

Iphone 是否未调用视图控制器的解除锁定?

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

我不知道为什么viewcontroller的dealloc没有调用

请参阅代码片段

- (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类型。。所以这是一个根本原因。