Press ESC to close

Swift İf Else Kullanımı

Bir programlama dilinde en önemli özelliklerden biri karar verme yapılarıdır. bu yapılar sayesinde uygulamamızda sonucun nereye varacağına karar verebiliyoruz. C# ve Java gibi programlama dilllerinde neredeyse birbirinin aynısı olan if-else yapısı Swift‘de yine diğerlerinden farklı olarak biraz farklı. C# ve Java’da if yazdıktan sonra parantez içerisinde koşulu yazarken Swift programlama dilinde parantez açma gibi bi koşul yok.

Örnek vermek için basit bit uygulama yapalım. Bu uygulamada kullanıcıdan bir yazı girmesini isteyelim. Eğer bu yazı nasılsın yazısıysa iyiyim yazsın ekrana, diğerlerinde ise ekrana anlamadım yazsın. Ayrıca bu programda klavyeye işim bitti denildiği anda bu işlemleri gerçekleştirsin.

Tasarım açısından bir tane textfield ekleyelim, textfield altına ise label ekleyerek textfielde cevap verelim. Basit bir tasarım oldu buradaki amaç zaten if else yapsını anlamak.

Tasarım kısmını hallettikten sonra Textfield’i ve Label’ı bir outlet olarak almamız gerekiyor. Bu tanımlamaları yaptıktan sonra Textfield’de bir fonksiyon oluşturmamız gerekiyor. Bu fonksiyon Textfiled’de yazma işlemimiz bittikten sonra olacakları tanımlamamızı sağlayacak. İlk önce Textfield’de sağ tuşa basılı tutarak bir fonksiyon oluşturacağız. Burada dikkat etmemiz gereken nokta action seçtikten sonra tip kısmında Did On Exit tipini seçmemiz gerekiyor. Bunu seçmemizin nedeni yazı alanında işimiz bittikten sonra hemen bu fonksiyonun devreye girmesi içindir. Sonrasında ise hikayemize dönelim. Eğer ki yazı alanımda nasılsın yazıyorsa Label’da iyiyim yazıcak, diğer kelimelerde labelda anlamadım yazacaktı. Bunun için fonksiyonun içinde bir kontrol oluşturmamız gerekiyor. Bu kontrolde yazıda eğer nasılsın yazıyorsa iyiyim diyecek, diğer durumlarda ise anlamadım yazıcak.

@IBOutlet weak var girilecekYazi: UITextField!
    @IBOutlet weak var cevapKismi: UILabel!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func buttonCevapla(_ sender: Any) {
        if girilecekYazi.text=="nasılsın"
        {
            cevapKismi.text = "İyiyim"
            self.resignFirstResponder()
        }
        else {
            cevapKismi.text = "anlamadım"
            self.resignFirstResponder()
        }
        
    }

Ekrana iyiyim yazdığımızda aldığımız cevap;

Yazı alanına farklı bir şey yazdığımızda ekranda gözükecekler.

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir