次のコードが正確にどのように機能するのか疑問に思っています (はい、実際に意図したとおりに機能し、クリックされたボタンに応じてタグの値が異なります) button
。他の6つのボタンは残っていますか?このコードを実行した後、本当に 7 秒間メモリが予約されているUIButton
のでしょうか?
または、より一般的な質問として: これは良いプログラミング スタイルですか? 要点は、クリックされたボタンに応じて異なるアクションを実行する必要があるということです。このアプローチ (限られた objc スキルを使用した場合) が最も単純に見えました。よろしくお願いします。初心者の iOS 開発者です。
UIButton *button;
for(int k=0;k<7;k++)
{
button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self
action:@selector(aMethod:)
forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"" forState:UIControlStateNormal];
button.frame = CGRectMake(80, 20+30*k, 30, 30);
button.backgroundColor=[UIColor clearColor];
button.tag=k;
[subview addSubview:button];
}
関数 aMethod: は次のように定義されます。
-(IBAction)aMethod:(id)sender
{
UIButton *clickedButton=(UIButton *) sender;
NSLog(@"Tag is: %d",clickedButton.tag);
}