4

誰もが「timeIntervalSinceNow」メソッドに関連するサンプルコードを知っているか、提供できます...

私は次のようなものが必要です... time2(アプリがフォアグラウンドに入るとき)-time1(アプリがバックグラウンドに入るとき)= time3(時間の差)...これは、この数値(秒単位の優先)を使用して時間を計算できるようにするためですアプリがバックグラウンドになっている間に負けました!!

日付オブジェクトを作成し、オブジェクトを受け取り、ラベルで表示/使用しようとしています....

4

3 に答える 3

4

実は、元の質問に答えるには、myles を使用できますtimeIntervalSinceNow。以下のステートメントでは、inputDateは として初期化され、何らかの日付に設定されています (日付を現在の日付と時刻に設定するNSDateこともできます。[NSDate *inputDate = [NSDate date];

NSTimeInterval timeToAlert =[inputDate timeIntervalSinceNow];

NSTimeInterval次の行は、それを文字列に入れる方法です。

NSMutableString *timeinterval = [NSMutableString string];
[timeinterval appendFormat:@"%f",timeToAlert];

最後に、アプリ デリゲート クラスは通常、バックグラウンドの出入りを処理するコードを記述できる場所です。幸運を!

于 2012-07-29T18:31:28.950 に答える
3

timeIntervalSinceDate:次のメソッドを使用して、2 つの日付の差を計算できます。

//When app enters background:
self.backgroundDate = [NSDate date]; //this should be a property 
//...
//When the app comes back to the foreground:
NSTimeInterval timeSpentInBackground = [[NSDate date] timeIntervalSinceDate:self.backgroundDate];

NSTimeIntervalは単に の typedef でdoubleあり、秒単位で測定されます。現在の日時でオブジェクトを[NSDate date]インスタンス化します。NSDate

于 2011-05-26T21:06:37.473 に答える
3

timeIntervalSinceNowNSDate現在時刻からののオフセットを示します。あなたがしたいtimeIntervalSinceDate:

NSDate *appEnteredForeground = ...;
NSDate *appEnteredBackground = ...;

NSTimeInterval difference = [appEnteredBackground timeIntervalSinceDate: appEnteredForeground];
于 2011-05-26T21:03:36.627 に答える