Input-mask-ios: Mehrere maskierte Textfelder

Erstellt am 12. Okt. 2018  ·  4Kommentare  ·  Quelle: RedMadRobot/input-mask-ios

Erstmal eine tolle Bibliothek. Einfach zu bedienen und funktioniert wirklich gut :)

Nun, habe ich Recht, wenn ich mehrere maskierte Textfelder implementieren wollte, müsste ich für jedes ein MaskedTextFieldDelegate Objekt hinzufügen?

circumstances clarification question

Alle 4 Kommentare

Hallo @LinusGeffarth!
Danke für deine netten Worte.

Bei der Beantwortung Ihrer Frage hängt es davon ab, welche Art von Daten Sie in Ihren Textfeldern haben.

Wenn Sie beispielsweise mehrere Felder mit Telefonnummern haben, können Sie ein einzelnes MaskedTextFieldDelegate Objekt für alle einfügen, da die Masken gleich sein werden.

Okay, also ein Delegatobjekt für jede Maske.
Aus Neugier: Warum haben Sie es nicht so implementiert, dass die Maske eine Eigenschaft des Textfelds ist und alle Textfelder denselben Delegaten haben?

Warum haben Sie es nicht so implementiert, dass die Maske eine Eigenschaft des Textfelds ist und alle Textfelder denselben Delegaten haben?

@LinusGeffarth , ich würde dies nicht als weise Designentscheidung bezeichnen.

Benutzerdefiniertes Textfeld würde andere benutzerdefinierte Textfelder und die gesamte Vererbungshierarchie beeinträchtigen. Sie können die Maskierung nicht mit den benutzerdefinierten Textfeldern anderer Bibliotheken verwenden. Andernfalls haben alle Ihre Textfelder eine Maskeneigenschaft, die dem gesunden Menschenverstand widerspricht. Die gleiche Geschichte würde mit Ihren UITextView s passieren, und das ist noch schlimmer.

Mit einem Occam-Rasiermesser arbeitet unsere Bibliothek nur mit Textänderungen. Aus dieser Sicht lässt sich seine Funktionalität am besten implementieren, indem man sich wie beim Android-Pendant an den on text changed Callback anschließt.

Am nächsten kommt ein dummes UITextFieldDelegate Protokoll und die delegate Eigenschaft; onEditingChanged Ereignisse werden zurückgestellt, asynchron und unzuverlässig, außerdem gibt es keine Ziel-Aktions-Beziehung für die UITextView Objekte.

Somit ist dies der optimalste Weg mit der geringsten Menge an synthetischen Entitäten und den geringsten Auswirkungen auf das Projekt des Benutzers.

iOS- und macOS-SDKs sind bereits schlecht konzipiert, lasst uns das Leben unserer Entwicklerkollegen nicht komplizieren. (-:

Sollten Sie diesbezügliche Fragen haben, stellen Sie diese bitte sofort; ansonsten bitte diesen Thread schließen.

Macht Sinn, danke für die Ausarbeitung!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen