我想聲明一個函數,我只能用於特定的枚舉情況。例如,我有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