I don’t think the concept of a format type makes sense. Approach this more generally: TWTFormattedTextField has a formatter property that can be set. If it’s nil, the class behaves just like a normal text field. Otherwise, any information on how the field should be formatted should comes from the formatter. If you want to provide functionality for formatting phone numbers, implement that in a formatter. There’s no need to couple this text field with that use case.