gpt4 book ai didi

ios - 预定时间延迟

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:46 26 4
gpt4 key购买 nike

<分区>

我正在尝试在我的代码中启动延迟,以便当操作到达代码的那部分时,一切都会停止,只要延迟已安排好。我已经设置了时间延迟,这只是代码应该如何执行的问题。

这是我在我的项目中使用的时间延迟:

NSDate *timeDelay = [NSDate dateWithTimeIntervalSinceNow:5];
[NSThread sleepUntilDate:timeDelay];

如您所见,此代码段输入了 5 秒的延迟。我遇到的问题是,当我使用这段代码时,它并没有按照我的预期去做。下面是我要运行的函数:

- (IBAction)executeProgram
{
UIAlertView *delayAlert = [[UIAlertView alloc]
initWithTitle:@"Delay"
message:@"This message follows with a 5 second delay."
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:nil, nil];

// Enable when time is working properly
[delayAlert show];

NSDate *timeDelay = [NSDate dateWithTimeIntervalSinceNow:5];
[NSThread sleepUntilDate:timeDelay];

// dismisses the alert
[delayAlert dismissWithClickedButtonIndex:0 animated:YES];
}

我希望此代码首先显示警报,等待 5 秒,然后关闭警报。但是,这不会发生。取而代之的是,当我点击按钮时,首先有五秒钟的延迟,然后弹出警报并几乎立即自行消失。我用另一段时间延迟代码尝试了这一点, react 相同。

CFAbsoluteTime startTime = CFAbsoluteTimeGetCurrent();

for (int x = 0; x<=5000; x++)
{
NSLog(@"%i",x);
}

CFAbsoluteTime endTime = CFAbsoluteTimeGetCurrent();
CFAbsoluteTime elapsedTime = endTime - startTime;

我在这里做错了什么?为什么会在警报弹出之前延迟执行?

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