为什么ARC要取消分配我的对象?

Que*_*mia 0 objective-c ios automatic-ref-counting

我有一个视图控制器,我存储在一个可变数组中.

- (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];
}
Run Code Online (Sandbox Code Playgroud)

数组(viewControllers)定义为:

@property (nonatomic, retain) NSMutableArray *viewControllers;
Run Code Online (Sandbox Code Playgroud)

视图有一个按钮,当我点击它时,我收到以下消息:

[KAGameInfoViewController performSelector:withObject:withObject:]:发送到解除分配的实例0x6e6e900的消息

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

有什么想法吗?

编辑

关闭ARC修复问题.

Jer*_*myP 5

可能self.viewControllers是零,因为你忘了做:

self.viewControllers = [[NSMutableArray alloc] init]; 
Run Code Online (Sandbox Code Playgroud)

任何地方.