13

NSTimerネイティブと .NET の代替をいつ使用するかというルールはありますか?

  • System.Windows.Forms.Timer
  • System.Timers.Timer
  • System.Threading.Timer
4

5 に答える 5

9

NSTimer を使用することをお勧めします。

ザマリン 5.10:

var sampleTimer = NSTimer.CreateRepeatingScheduledTimer (TimeSpan.FromSeconds (5.0), delegate {

    //Write Action Here
                }); 

タイマーを開始するには、行を追加します。

sampleTimer.Fire();

使用後の停止:

    sampleTimer.Invalidate ();
    sampleTimer.Dispose ();
    sampleTimer = null;
于 2016-03-17T09:50:13.813 に答える
6

IMO の主なルールは、一部の型 (またはメソッド) が .NET と現在取り組んでいるプラットフォームの間で重複する機能を提供する場合はいつでも、アプリケーションとその特定のコードのビット (再利用) の長期的なクロスプラットフォームの目標を考慮する必要があるということです。 )。

使用する IOW コードNSTimerは、iOS および OSX でのみ機能します。.NET タイマーを使用すると、Windows、Android、そしてもちろん iOS と OSX で動作します。

于 2013-10-08T12:10:32.613 に答える
1

Poupou と Stephane に同意しますが、「場合による」とも言えます。タイマーを共通部分または共有部分に実装する必要がある場合は、.Net の代替手段が最適です。質問は Xamarin.iOS (Xamarin.Android または Xamarin.Forms ではない) に関するものなので、次のリストにない (これまでのところ) 解決策を追加したいと思います。これは非常に簡単です。

NSTimer timer = NSTimer.CreateRepeatingScheduledTimer(TimeSpan.FromSeconds(3), delegate { MyMethod(); });

MyMethod(); を呼び出します。3秒ごと。

于 2015-11-12T16:58:30.167 に答える