gpt4 book ai didi

swift - 从具有时间延迟的数组中调用函数

转载 作者:行者123 更新时间:2023-11-30 11:56:02 24 4
gpt4 key购买 nike

假设我有这个函数数组:

lazy var funcArray = [firstFunc, secondFunc, thirdFunc, ....n+Func, ...Inifinit number of Func........]

你会如何在 2.5 秒的延迟中一个接一个地调用它们?

我尝试过很多事情但没有成功,包括这个 while 循环:

while n < funcArray.count {
funcArray[n]()

DispatchQueue.main.asyncAfter(deadline: .now() + 2.5) {
n = n +1
}
}

最佳答案

我编写了一些小代码以便更好地理解。

初始化 count 和 funcTimer 变量并创建静态函数数组。

var count:Int = 0
var funcTimer = Timer()
let funcArray:Array = [somefunc(),somefunc(),somefunc()]

之后将这些行添加到适当的位置

funcTimer = Timer.scheduledTimer(timeInterval: 2.5, target: self, selector: (#selector(ViewController.scheduleArrayFunctions)), userInfo: nil, repeats: true)

@objc func scheduleArrayFunctions(funcarray:[ String])
{
if count < self.funcArray.count {

//this if is interesting checking both static function when it check it call the somefunc method
if self.funcArray[count] == ViewController.somefunc(){
print("equel")
}
self.count += 1
}
else
{
funcTimer.invalidate()
}

}

func somefunc()
{
print("hello world")
}

希望这对您有用。

关于swift - 从具有时间延迟的数组中调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47805042/

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