Pertama, perpustakaan yang luar biasa. Mudah digunakan dan bekerja dengan sangat baik :) 👍
Sekarang, apakah saya benar, bahwa, jika saya ingin menerapkan beberapa bidang teks bertopeng, saya harus menambahkan objek MaskedTextFieldDelegate
untuk masing-masing bidang?
Hai @LinusGeffarth!
Terima kasih atas kata-kata baik Anda.
Menjawab pertanyaan Anda, itu tergantung pada jenis data yang Anda miliki di bidang teks Anda.
Jika Anda memiliki, seperti, beberapa bidang dengan nomor telepon — Anda dapat memasukkan satu objek MaskedTextFieldDelegate
untuk semuanya karena topengnya akan sama.
Oke jadi satu objek delegasi untuk setiap topeng.
Karena penasaran: mengapa Anda tidak menerapkannya sehingga topeng adalah properti dari bidang teks dan semua bidang teks berbagi delegasi yang sama?
mengapa Anda tidak menerapkannya sehingga topeng adalah properti dari bidang teks dan semua bidang teks berbagi delegasi yang sama?
@LinusGeffarth , saya tidak akan menyebut ini keputusan desain yang bijaksana.
Bidang teks khusus akan mengganggu bidang teks khusus lainnya dan hierarki pewarisan secara keseluruhan. Anda tidak akan dapat menggunakan penyembunyian dengan bidang teks khusus perpustakaan lain; atau sebaliknya, Anda akan berakhir dengan semua bidang teks Anda memiliki properti topeng, yang bertentangan dengan akal sehat. Kisah yang sama akan terjadi dengan UITextView
, dan itu bahkan lebih mengecewakan.
Menggunakan pisau cukur Occam, satu-satunya hal yang perpustakaan kami operasikan adalah perubahan teks. Dari sudut pandang ini, cara terbaik untuk mengimplementasikan fungsionalitasnya adalah dengan menghubungkan ke callback on text changed
, seperti yang dilakukan untuk mitra Android.
Hal yang paling dekat itu adalah keledai bodoh UITextFieldDelegate
protokol dan delegate
properti; onEditingChanged
acara ditangguhkan, asinkron dan tidak dapat diandalkan, ditambah tidak ada hubungan target-action untuk objek UITextView
.
Jadi, ini adalah cara paling optimal dengan jumlah entitas sintetis terkecil dan dampak terkecil pada proyek pengguna.
SDK iOS dan macOS sudah dirancang dengan buruk, jangan mempersulit hidup pengembang rekan kami. (-:
Jika Anda memiliki pertanyaan terkait, silakan tanyakan segera; jika tidak, harap tutup utas ini.
Masuk akal, terima kasih atas penjelasannya!