Saya sedang berlatih pemrograman cepat dengan membuat aplikasi yang menyimpan data pelanggan. Aplikasi ini memiliki beberapa bidang teks tempat orang harus mengetikkan nama, alamat email, nomor telepon, dan jumlah produk yang dibeli. Kemudian dengan tombol 'kirim' mereka menyimpan informasi tersebut ke dalam basis data. Namun, jika salah satu bidang kosong, kesalahan akan terjadi dan sebuah pesan akan muncul kepada pengguna yang memberi tahu dia bahwa salah satu bidang kosong.
Masalahnya adalah meskipun textfield kosong, kompiler tidak membacanya sebagai nihil, jadi kondisi saya tidak berfungsi.
Untuk mempermudah, saya menghilangkan banyak kode. Saya hanya akan bekerja dengan satu UITextField (nama pelanggan), dan kondisi saya akan memeriksa apakah TextField kosong atau tidak. Jika kosong, seharusnya tercetak "Silakan masukkan nama yang valid." jika TIDAK nihil, harusnya tercetak nama pelanggan.
class RaffleViewControler: UIViewController, UITextFieldDelegate {
@IBOutlet weak var customerNameTextField: UITextField!
@IBAction func addCustomerName(_ sender: UITextField) {
}
@IBOutlet weak var submitButton: UIButton!
@IBAction func submitCustomer(_ sender: UIButton) {
if let name = customerNameTextField.text {
print(name)
} else {
print("Please enter a valid name")
}
}
Alternatifnya, saya juga memeriksa kondisi saya dalam format berikut:
@IBAction func submitCustomer(_ sender: UIButton) {
if customerNameTextField.text != nil {
print("Congrats. Your data is in our database")
} else {
print("Please enter a valid name")
}
}
Masalah:
Bahkan jika saya membiarkan kolom teks kosong, kompiler tidak membaca bagian "lain" dari kondisi tersebut. Yang sepertinya menunjukkan bahwa bidang tersebut tidak pernah nihil. Apa yang mungkin terjadi?
if customerNameTextField.hasText {
. pilihan lain adalah menguji apakah tidak kosong memeriksa properti teksif customerNameTextField.text?.isEmpty == false {
- person Leo Dabus   schedule 10.11.2017