创建一个全局变量来存储来自NSDate的时间?

时间:2012-06-03 04:25:07

标签: ios xcode global-variables nstimer nstimeinterval

我希望在满足if条件时将程序运行期间的时间存储到全局变量中,所以当收到新时间时,它应该存储在全局变量中,

这是我想检查的if条件吗?

 NSDate* CurrentTime = [NSDate date];

//少于30秒

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

这种实现if条件的方式是否可以实现我的任务?以及如何实现全球化 用NSdate做的事情?

谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

这是存储全局变量的基本思想 -

在.h文件中

extern NSDate myDate;

在.m文件中

NSDate myDate = XXXX; //where XXXX is the value you need