私のアプリケーションは一時的なメッセージを表示する必要があるため、Android のような Toast を自分で作成しました。トーストが1つだけの場合に適しています。メッセージを非表示にするために NSTimer を使用しています。複数のトーストを表示すると、タイマーが問題になります。最後に追加されたトーストのみが非表示になり、他のトーストは非表示になりません。すべてのトーストを非表示にするにはどうすればよいですか?
コード:
削除機能:
-(void)removeToast
{
NSLog(@"removed");
[self.view removeFromSuperview];
}
タイマー開始:
timer = [NSTimer scheduledTimerWithTimeInterval:(4.0f)
target:self
selector:@selector(xxxx)
userInfo:nil repeats:NO];
これを上記の別NSObject
のクラスに記述し、オブジェクトを作成しました。2 つの NSTimer を同時に実行する方法、またはすべてを追跡する方法について明確にする必要がありますNSObjects
。
ビューコントローラーでのオブジェクト作成は
@property(nonatomic,strong)Toast *toast;