gpt4 book ai didi

ios - 延迟 IBAction 按钮

转载 作者:行者123 更新时间:2023-11-29 02:04:06 25 4
gpt4 key购买 nike

我想延迟这个按钮 23 小时,也就是 82800 秒。它应该工作正常,单击后按钮确实延迟,但是当我切换到另一个 View Controller 或重新进入应用程序时,按钮延迟功能无法工作,因为它只是在切换到另一个 View Controller 后弹出回到可点击按钮或重新启动应用程序。

代码如下:

- (IBAction)save:(id)sender
{

UIButton *theButton = (UIButton *) sender;
theButton.enabled = NO;
[self performSelector:@selector(enableButton:) withObject:theButton afterDelay:82800.0];
}

- (void)enableButton:(UIButton *)button
{
button.enabled = YES;
}

我正在寻找允许此按钮延迟 23 小时的代码,无论我是退出应用程序还是切换到另一个 View Controller 。

请帮忙

最佳答案

您应该使用NSUserDefaults。当调用 save: 方法时,检查当前日期 [NSDate date] 并将其保存到用户默认值中。然后(当时间已经过去时)您从默认值中检索保存的日期并将其与当前日期进行比较。如果 23 小时已经过去,您可以启用该按钮

更新:

这是保存日期的方法:

- (IBAction)save:(id)sender
{

UIButton *theButton = (UIButton *) sender;
theButton.enabled = NO;
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"savedDate"];
[[NSUserDefaults standardUserDefaults] synchronize];
}

然后(将来)您获取保存的日期:

NSDate* savedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"savedDate"];

if ([[NSDate date] timeIntervalSinceDate:savedDate] >= 82800.0 )
{
theButton.enabled = YES;// you need to keep the reference to the button
}

关于ios - 延迟 IBAction 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29991402/

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