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 回答