私はARCを初めて使いました。私は1週間もかかっていませんでした。私がやろうとしているのは非常に基本的なことです。私は、ボタンを表示するView Controllerを持っています。ボタンをクリックすると、対応するセレクターを呼び出す必要があります。しかし、ARCでは、アプリケーションがEXC_BAD_ACCESSメッセージでクラッシュしました。以下は私のMainViewControllerからコードARCは早めにViewControllerを解放します
- (void)loadView
{
[super loadView];
UIButton *testButton=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[testButton setFrame:CGRectMake(80,50,160,50)];
[testButton setTitle:@"Click Me" forState:UIControlStateNormal];
[testButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:testButton];
}
-(void)buttonClicked:(id)sender
{
NSLog(@"Button Clicked");
}
私はゾンビオブジェクトを有効にし、デバッグログ上記のメッセージを見てみると
2012-02-21 22:46:00.911 test[2601:f803] *** -[MainViewController performSelector:withObject:withObject:]: message sent to deallocated instance 0x6b4bba0
に次のメッセージを見つけることができたが、ARCがあるように私には思えます私のMainViewControllerを途中で解放します。 私はここで何が間違っているのか分かりません。私が何かを見逃している場合は、私に知らせてください。この答えは助けた - 誰にもこれに似た症状を持っていますが、私の場合のようにストーリーボードとSeguesを使用している場合には、事前
VCがどのように初期化されているのかわからないのですが、私はあなたがそれに強い参照を持っていないと思う。 –