gpt4 book ai didi

ios - 显示在 View Controller 之间持续存在的 iOS 应用程序的计时器

转载 作者:可可西里 更新时间:2023-11-01 03:38:18 26 4
gpt4 key购买 nike

我一直在尝试通过使用 NSTimer 让计时器显示在我的应用程序的左下角,并将“已用时间”显示为 UILabel 在左下角,但它对我不起作用。

-(void)viewDidLoad
{
NSTimer *aTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(aTime) userInfo:nil repeats:YES];
}

-(void)aTime
{
NSLog(@"....Update Function Called....");

static int i = 1;

Label.text = [NSString stringWithFormat:@"%d",i];

i++;
}

计时器确实有效,但我无法通过按钮触发它。我试图让计时器在进入下一个 Storyboard/xib 文件时继续,而不是在 1 处重新启动。

最佳答案

要在按钮按下时实现定时器 Action ,您需要将其写在 IBAction 方法中,例如:

- (IBAction) buttonPress
{
NSTimer *aTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(aTime) userInfo:nil repeats:YES];
}

要存储以前的值,您可以使用 NSUserDefaults或 SQLite 数据库。为此,我建议使用 NSUserDefaults

更改 aTime 方法,如:

-(void)aTime
{
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
id obj = [standardUserDefaults objectForKey:@"TimerValue"];
int i = 0;

if(obj != nil)
{
i = [obj intValue];
}

Label.text = [NSString stringWithFormat:@"%d",i];
i++;

[standardUserDefaults setObject:[NSNumber numberWithInt:i] forKey:@"TimerValue"];
[standardUserDefaults synchronize];
}

关于ios - 显示在 View Controller 之间持续存在的 iOS 应用程序的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12534074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com