2012-04-20 53 views
0

我有一个视图控制器,我存储到一个可变数组中。ARC为什么取消分配我的对象?

- (void)pushViewController:(KAViewController *)viewController 
{ 
    [self.viewControllers addObject:viewController]; 

    if (self.count == 0) 
     [self.view addSubview:viewController.view]; 
    else 
     [self transitionFromView:self.currentViewController.view toView:viewController.view]; 
} 

阵列(viewControllers)被定义为:

@property (nonatomic, retain) NSMutableArray *viewControllers; 

视图有一个按钮,并且当我点击它,我得到以下信息:

[KAGameInfoViewController performSelector :withObject:withObject:]: 消息发送到释放的实例0x6e6e900

我已经确认0x6e6e900是我的视图控制器的地址。

有什么想法?

EDIT

关闭ARC解决了这个问题。

+0

什么是self.count属性? – 2012-04-20 13:34:34

+0

我假设所有这些代码都是你的'KAGameInfoViewController'类的一部分。它有一个叫做“count”的伊娃吗?如果不是,那么'if(self.count == 0)'可能是一个问题。 – 2012-04-20 13:37:06

+0

关闭ARC可能不是一个好的解决方案,因为它可能会掩盖您的代码的分配问题。 – 2012-04-20 13:43:43

回答

5

大概self.viewControllers是零,因为你忘了做:

self.viewControllers = [[NSMutableArray alloc] init]; 

任何地方。

+0

哈哈哈我恳求暂时缺少情报:/ – Quentamia 2012-04-20 13:44:57

相关问题