首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自动减少NSNumber -1

自动减少NSNumber -1
EN

Stack Overflow用户
提问于 2014-10-03 11:36:08
回答 4查看 83关注 0票数 1

基本上,我试图构建一些代码,允许NSNumber每分钟减少1次,

这就是我到目前为止所拥有的。

代码语言:javascript
运行
复制
- (void)viewDidLoad {
[super viewDidLoad];
NSNumber *numVar = [NSNumber numberWithUnsignedChar:99];
[self num];
}
-(void)num{
usleep(60000000);
NSNumber *numVar = [NSNumber numberWithUnsignedChar:numVar-1];
[self num];
}

首先,它不会每分钟减少一个,其次,在viewDidLoad中使用初始viewDidLoad是否错误?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-10-03 11:56:55

我们尝试了这种方法,但是它对我们所需要的工作很有效:您需要在代码中重新安排这些内容。

代码语言:javascript
运行
复制
- (void)viewDidLoad{
     NSTimer *timer;
     int minutes = 0;

     //Creating a label that shows the timer ; i assume you have one that is already linked
     _labelTimer.text = [NSString stringWithFormat:@"This is %i minute", minutes];

     //Creating the timer itself with the NSTimer object
     timer = [NSTimer scheduledTimerWithTimeInterval: 60.0 target: self selector:@selector(decreaseTimeCount) userInfo:nil repeats:YES];  

     //Note that 60 is the number of seconds before it calls the selector. You can use 1 if you want it to change your timer/clock every second
}
- (void)decreaseTimeCount{

    //The method changes the value of my variable and updates the label. If i'm at the 10th minute, i could do something, like perform a segue.

    minute+=1;
    _labTimer.text = [NSString stringWithFormat:@"This is %i minutes", minutes];

    if (minutes == 10){
        //do stuff 
    }

}
票数 2
EN

Stack Overflow用户

发布于 2014-10-03 11:44:03

你睡在主线程中,阻塞你的UI。您需要使用NSTimer或类似的定时机制来周期性地运行该函数,而不需要阻塞。

票数 1
EN

Stack Overflow用户

发布于 2014-10-03 12:07:37

代码语言:javascript
运行
复制
@implementation YourViewController 
{
    NSNumber *numVar;
}    

- (void)viewDidLoad 
{
    [super viewDidLoad];    
    numVar = [NSNumber numberWithUnsignedChar:99];
    [NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];
}

- (void)timerFireMethod:(NSTimer *)timer
{
    numVar = [NSNumber numberWithInt:[numVar intValue] - 1];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26178246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档