gpt4 book ai didi

swift - 我需要将参数数量传递给相当于变量数组计数的函数

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

我有一个数组变量。如果变量的数组计数为 1,那么我需要使用一个参数调用一个函数,并将索引 0 的数组变量作为参数传递。如果是两个,那么我必须调用一个带有两个参数的函数,并将索引 0 和 1 的数组变量作为参数传递,依此类推,直到最多三个参数。

我尝试过使用保护语句,但我不确定它们是否适用于我的情况。

    class DFile{
//These are the functions:
public func addData(_ date: Date) { }
public func addData(_ date: Date, ch: Double) {}
public func addData(_ date: Date, ch1: Double, ch2: Double) { }
public func addData(_ date: Date, ch1: Double, ch2: Double, ch3: Double) { }
}
//The date is static
let df = DFile()
var ch = [Double]() // this is the variable
ch.append(GetNumber()) //I append data to the variable
df.addData(dt,ch1: ch[0], ch2: ch[1], ch3: ch[2])// I need this to be dynamic, it needs to be different according to the array count.

预期输出:如果 array.count = 2,df.adddata(_ date: 日期, ch1: Double, ch2: Double)

最佳答案

您可以继续在 DFile 扩展 中创建一个单独的方法,该方法将处理各个 addData 方法的调用,即

extension DFile {
func addData(_ date: Date, _ ch: [Double]) {
switch ch.count {
case 0:
self.addData(date)
case 1:
self.addData(date, ch: ch[0])
case 2:
self.addData(date, ch1: ch[0], ch2: ch[1])
case 3:
self.addData(date, ch1: ch[0], ch2: ch[1], ch3: ch[3])
default:
break
}
}
}

扩展DFile中调用addData(_:_:),例如,

df.addData(dt,ch)

关于swift - 我需要将参数数量传递给相当于变量数组计数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57047266/

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