小编har*_*t07的帖子

Swift枚举函数只用于枚举的单个案例?

我想声明一个我只能用于单个特定枚举案例的函数.

例如,我有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测试,可以将文本输入到文本字段中.我想保持输入代码远离我的测试文件,我开始使用枚举和枚举函数进行" 试验 ".我想知道我是否可以为枚举案件明确提供一个函数.从评论来看,我不能这样做(我在网上查了但没有走得太远).这不是一个糟糕的架构或任何东西,我只是拆分测试代码..

感谢大家的回复.

enums function ios swift

11
推荐指数
3
解决办法
1万
查看次数

标签 统计

enums ×1

function ×1

ios ×1

swift ×1