私がしようとしているのは、作成されたそれぞれのUIButton
のための単一の機能を持ち、その動作を決定するために関数内のスイッチを使用することです。ボタンをスイッチを使用するように設定していますが、実際にはそれほど遠くはありません。ARCの使用中にUIButtonをメモリに保持するにはどうすればよいですか?
for var(int i = 0; i < numResults; i++)
{
UIButton* button = [[UIButton] alloc] initWithFrame:CGRectMake(0,(i*55)+10,320,50)];
[buttton setTag:i];
[button addTarget:self action:@selector(buttonHandler) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
}
...
-(void) buttonHandler:(id)sender
{
//Handle the button press
}
私はボタンのいずれかをクリックするとアプリがエラーをスロー:
-[WatchViewController buttonHandler]: unrecognized selector sent to instance 0x6845430
私は自動解放、それへの参照がないよう、ボタンの変数が作成されたためであると信じている、とARCによって呼び出されるため、関数が呼び出されるときには存在しなくなります。残念ながら、メモリ内の各ボタンへの参照を保持する方法はわかりません。
私が間違っている(または私が書いたことが貧弱な練習である)場合は、私に教えてくれると教えてください。
ありがとう、私はそれが必要であることを認識していませんでしたが、今あなたはそれが完璧な意味があると言いました。明らかに私は間違った木を完全に吠えていました! – mrh89