我希望在满足if条件时将程序运行期间的时间存储到全局变量中,所以当收到新时间时,它应该存储在全局变量中,
这是我想检查的if条件吗?
NSDate* CurrentTime = [NSDate date];
//少于30秒
if ([CurrentTime timeIntervalSinceDate:TimeStoredinglobalvariable] < 30.0f)
{
//do something
//Reset the new time to
TimeStoredinglobalvariable = CurrentTime;
}
这种实现if条件的方式是否可以实现我的任务?以及如何实现全球化 用NSdate做的事情?
谢谢!
答案 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