如果我这样做,我的观点会很快发布吗?

时间:2011-07-30 13:51:07

标签: iphone objective-c

目前我有以下代码将我的视图添加到导航控制器。如果我在第一行使用了自动释放并从第3行删除了释放,那么在我通过pushViewController方法保留之前,我的视图会被解除分配吗?

    WeaponStoreView *weaponStoreView = [[WeaponStoreView alloc] initWithNibName:@"WeaponStoreView" bundle:nil];

    // ...
    // Pass the selected object to the new view controller.
    [self.navigationController pushViewController:weaponStoreView animated:YES];
    [weaponStoreView release];

2 个答案:

答案 0 :(得分:1)

Autorelease不会在当前函数结束之前释放对象,所以你应该没问题。

答案 1 :(得分:1)

不,武器存储视图应该由pushViewController保留:一旦收到它,在处理你需要小心的线程时会有一些复杂的问题,但在这种情况下没有。从技术上讲,你现在仍然可以按现在的方式做得更好,因为这意味着只要不再需要,就可以释放weaponStoreView,直到你的发布池被刷新为止,但在这种情况下你的navigationController将被挂在你的在当前事件循环结束很久之后,weaponStoreView。