Funciones Swift Enum

Quiero declarar una function que solo puedo usar para un caso de enumeración específico. Por ejemplo, tengo enumeración CustomTextFieldTypes. Esto tiene los siguientes casos y funciones.

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) } } 

Ahora quiero llamar a la function inputCardNumber(...) solo para el caso CustomTextFieldTypes.CardNumber . Puedo hacer lo siguiente …

 CustomTextFieldTypes.CardNumber.inputCardNumber(...) 

Pero al mismo time puedo hacer esto …

 CustomTextFieldTypes.CardExpiryDate.inputCardNumber(...) or CustomTextFieldTypes.CardNumber.inputCardNumber(...) 

Solo quiero llamar a la function inputCardNumber(...) para el caso CardNumber . No de otro caso el enum. ¿Cómo logro esto?

Gracias de antemano por cualquier ayuda

EDIT- He aquí algunos antecedentes sobre lo que estoy haciendo. Estaba escribiendo una testing de interfaz de usuario que ingresaría text en campos de text. Quería mantener alejado el código de input de mi file de testing y comencé a " Experimentar " con enumeraciones y funciones de enumeración. Me preguntaba si podría tener una function explícitamente disponible para un caso de enumeración. A juzgar por los comentarios no puedo hacer esto (lo comprobé en línea pero no llegué lejos). No es una mala architecture ni nada, solo estaba dividiendo el código de testing.

Gracias por todo el mundo por responder.

Puede realizar un cambio en self para ejecutar cierto código en ciertos casos. He aquí un ejemplo:

 enum CustomTextFieldTypes { case cardType case cardNumber case cardExpiryDate case cardName case ccvNumber func inputCardNumber(cardNumber: String!, cardNumberTextField: XCUIElement?) { switch self { case .cardNumber: cardNumberTextField?.typeText(cardNumber) default: return } } } 

No sé exactamente por qué se necesitan XCUIElements pero haz algo como esto

 //MARK: Declaration enum CustomTextFieldTypes { case CardType(String) case CardNumber(String) case CardExpiryDate(String) case CardName(String) case CCVNumber(String) } //MARK: Definition var cardNumber = CustomTextFieldTypes.CardNumber("123") var cardExpiry = CustomTextFieldTypes.CardExpiryDate("10-10-2016") //MARK: Usage func useCard(type: CustomTextFieldTypes) { switch type { case .CardNumber(let numberString): print(numberString) case .CardType(let cardtype): print(cardtype) case .CardExpiryDate(let expiryDate): print(expiryDate) case .CardName(let name): print(name) case .CCVNumber(let ccvnumber): print(ccvnumber) } } useCard(cardNumber) useCard(cardExpiry) 

Si realmente necesita XCUIElement, cambie el case CardType(String) al case CardType(String, XCUIElement) y actualice todos los demás códigos también