我想声明一个我只能用于单个特定枚举案例的函数.
例如,我有CustomTextFieldTypes枚举.这具有以下情况和功能.
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)
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想inputCardNumber(...)只为这个CustomTextFieldTypes.CardNumber案例调用该函数 .我可以做以下......
CustomTextFieldTypes.CardNumber.inputCardNumber(...)
Run Code Online (Sandbox Code Playgroud)
但与此同时,我可以做到这一点......
CustomTextFieldTypes.CardExpiryDate.inputCardNumber(...) or
CustomTextFieldTypes.CardNumber.inputCardNumber(...)
Run Code Online (Sandbox Code Playgroud)
我只想调用案例的inputCardNumber(...)功能CardNumber.不是来自另一个案例的枚举本身.我该如何实现这一目标?
在此先感谢您的帮助
编辑 - 这是我正在做的一些背景.我正在编写一个UI测试,可以将文本输入到文本字段中.我想保持输入代码远离我的测试文件,我开始使用枚举和枚举函数进行" 试验 ".我想知道我是否可以为枚举案件明确提供一个函数.从评论来看,我不能这样做(我在网上查了但没有走得太远).这不是一个糟糕的架构或任何东西,我只是拆分测试代码..
感谢大家的回复.