NSTimer
ネイティブと .NET の代替をいつ使用するかというルールはありますか?
- System.Windows.Forms.Timer
- System.Timers.Timer
- System.Threading.Timer
NSTimer
ネイティブと .NET の代替をいつ使用するかというルールはありますか?
NSTimer を使用することをお勧めします。
ザマリン 5.10:
var sampleTimer = NSTimer.CreateRepeatingScheduledTimer (TimeSpan.FromSeconds (5.0), delegate {
//Write Action Here
});
タイマーを開始するには、行を追加します。
sampleTimer.Fire();
使用後の停止:
sampleTimer.Invalidate ();
sampleTimer.Dispose ();
sampleTimer = null;
IMO の主なルールは、一部の型 (またはメソッド) が .NET と現在取り組んでいるプラットフォームの間で重複する機能を提供する場合はいつでも、アプリケーションとその特定のコードのビット (再利用) の長期的なクロスプラットフォームの目標を考慮する必要があるということです。 )。
使用する IOW コードNSTimer
は、iOS および OSX でのみ機能します。.NET タイマーを使用すると、Windows、Android、そしてもちろん iOS と OSX で動作します。
Poupou と Stephane に同意しますが、「場合による」とも言えます。タイマーを共通部分または共有部分に実装する必要がある場合は、.Net の代替手段が最適です。質問は Xamarin.iOS (Xamarin.Android または Xamarin.Forms ではない) に関するものなので、次のリストにない (これまでのところ) 解決策を追加したいと思います。これは非常に簡単です。
NSTimer timer = NSTimer.CreateRepeatingScheduledTimer(TimeSpan.FromSeconds(3), delegate { MyMethod(); });
MyMethod(); を呼び出します。3秒ごと。