我想声明一个函数,我只能用于特定的枚举情况。例如,我有CustomTextFieldTypes枚举。这有以下情况和功能。Swift枚举函数
enum CustomTextFieldTypes {
case CardType
case CardNumber
case CardExpiryDate
case CardName
case CCVNumber
func inputCardNumber(cardNumber: String!, cardNumberTextField: XCUIElement?) {
cardNumberTextField?.typeText(cardNumber)
}
func inputCardCCVNumber(cardCCVNumber: String!, cardCCVNumberTextField: XCUIElement?) {
cardCCVNumberTextField?.typeText(cardCCVNumber)
}
}
现在我要调用的函数inputCardNumber(...)
只为CustomTextFieldTypes.CardNumber
情况。我可以做以下...
CustomTextFieldTypes.CardNumber.inputCardNumber(...)
但在同一时间,我可以做到这一点...
CustomTextFieldTypes.CardExpiryDate.inputCardNumber(...) or
CustomTextFieldTypes.CardNumber.inputCardNumber(...)
我只是想呼吁CardNumber
情况inputCardNumber(...)
功能。从另一个案例来看,并不是枚举本身。我如何实现这一目标?
预先感谢任何帮助
编辑 - 下面是关于我在做什么的一些背景。我正在写一个UI测试,它将文本输入到文本字段中。我想保持输入代码远离我的测试文件,并开始使用枚举和枚举函数“实验”。我想知道如果我可以有一个函数显式可用于枚举的情况。从评论来看,我不能这样做(我在网上查了一下,但没有得到太多的结果)。这不是一个坏的架构或任何东西,我只是分裂测试代码..
感谢大家的回复。
你想做什么?为什么使用'XCUIElement'?它们仅用于测试 –
为什么要将函数放入枚举中?这有什么好处? – Imbue
您不能仅对一个枚举情况提供函数。枚举中的任何函数都可用于枚举的每个情况。从你的小代码片段看来,你似乎有一个架构问题,可能会想出更好的设计来做你想做的事情。我们没有足够的信息给你提供更好的建议。 – keithbhunter