2

プログラムの実行中の時間をif条件を満たすときにグローバル変数に格納したいので、新しい時刻を受信すると、グローバル変数に格納する必要があります。

ここで私のif条件でチェックしたいですか?

 NSDate* CurrentTime = [NSDate date];

//30秒未満

if ([CurrentTime timeIntervalSinceDate:TimeStoredinglobalvariable] < 30.0f)
    {
        //do something
        //Reset the new time to
        TimeStoredinglobalvariable = CurrentTime;
    }

私のタスクを実装するためにif条件を実装するこの方法は可能ですか?そして、NSdateでこのグローバルなことをどのように行うのですか?

ありがとうございました!

4

2 に答える 2

2

静的変数を使用してクラスメソッドを作成できます。

.h

@interface YourClass : NSObject

@property (nonatomic, strong, readonly) NSDate *storedTime;

@end

.m

#import "YourClass.h"

@interface YourClass()
    @property (nonatomic, strong, readwrite) NSDate *storedTime;
@end

@implementation YourClass

static NSDate *_storedTime;

@synthesize storedTime;

- (NSDate *)storedTime {
    if (!_storedTime) {
        _storedTime = [NSDate date];
    }

    if ([_storedTime timeIntervalSinceNow] < -30.0f) {
        //Do you stuff...
        _storedTime = [NSDate date];
    }

    return _storedTime;
}

@end
于 2012-06-03T06:48:59.310 に答える
0

これがグローバル変数を格納するための非常に基本的な考え方です-

.hファイル内

extern NSDate myDate;

.mファイル内

NSDate myDate = XXXX; //where XXXX is the value you need
于 2012-06-03T04:48:36.017 に答える