UIButtonの内部 IBAction を使用して [performSelector:@selector(reloadData) withObject:nil afterDelay:0.01]
います。reloadData メソッドは、特定の方法でメイン ビューにいくつかのサブビューを描画します。問題は、ボタンをすばやく繰り返しタップすると、セレクター「ReloadData」が複数回実行され、イベントはキャンセルされますが、そのセレクターへの以前のすべてのリクエスト。これにより、メイン ビューのサブビューが重複します。
-(IBAction) myButtonIsTapped
{
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(reloadData) object:nil];
[self performSelector:@selector(reloadData) withObject:nil afterDelay:0.01];
}
次のようにデータメソッドをリロードします。
-(void) reloadData
{
@synchronized(self){
// clear all subviews from the main view
// draw new subviews
}
}