私は可変配列に格納しているビューコントローラを持っています。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が私のView Controllerのアドレスであることを確認しました。
どのような考えですか?
EDIT
問題を修正ARCをオフにします。あなたがし忘れたので、おそらく
'self.count'プロパティとは何ですか? –
私はこのコードがすべてあなたの 'KAGameInfoViewController'クラスの一部であると仮定しています。それは 'カウント'と呼ばれるivarを持っていますか?そうでなければ 'if(self.count == 0)'が問題になるかもしれません。 –
ARCをオフにすることは、コードの割り当て問題を隠す可能性があるため、優れた解決策ではない可能性があります。 –