KONTROL AKIŞI
Kontrol yapıları bir anlamda, programlama denilen işlemin gerçekleştirilmesini sağlayan yapılardır.
Diğer bilgisayar dillerinde olduğu gibi, Swift dilinde de, kontrol yapıları dilin en önemli parçasını oluşturur. Başka bir deyişle, kontrol yapıları olmasa idi, bilgisayar programları,
sadece bilgisayara bilgi giriş-çıkışı ve bazı hesaplamalar dışında bir işlemi gerçekleştiremezdi.
Bu bölüme kadar verilen programlar bir anlamda bir düz hat programları olarak görülebilir. Yani şu ana kadar verilen programlarda bir komuttan sonra aradaki komutları atlayarak başka bir noktaya sıçrama söz konusu değildi.
Bir bilgisayar programında, komutlar, normal olarak yazılış sırasına göre icra edilir. Örneğin, herhangi bir programlama dilinde yazılmış olan,
Komut1
Komut2
Komut3
........
Komutn-1
Komutn
şeklindeki bir programda, önce Komut1 sonra Komut2
daha sonra Komut3, ..,Komutn-1
ve en son da Komutn
icra edilecektir.
Birçok programlama problemi bu kadar basit değildir. Programlama dillerinin büyük gücü, aynı işi, tekrar tekrar yapabilmelerinden ya da değişik parametre değerleri için değişik işler yapabilmelerinden gelir.
Kontrol komutları, yukarıda bahsedilen doğrusal akış sırasını değiştirebilen komutlardır. Örneğin, Komut2 bir kontrol komutu olsa idi, bu komut bir koşulu kontrol ederek, koşulun sonucuna göre,
Komut3, Komut4 ve Komut5’i atlayarak, programın icrasını doğrudan Komut6’ya gönderebilirdi. Bir bilgisayar programında, programın kontrolünün, aradaki komutlar atlanarak, bir komuttan diğerine sıçramasına dallanma (branching) adı verilir. Bu anlamda, kontrol komutları, dallanmayı gerçekleştiren komutlardır.
Diğer bilgisayar programlama dillerinde olduğu gibi, Swift dilinde de, esas olarak üç farklı tipte kontrol yapısı ya da komutu mevcuttur:
Seçme (selection) işlemini gerçekleştiren kontrol komutları. Bu tip kontrol komutlarında, bir ifade kontrol edilerek, ifadenin değerine göre çeşitli seçeneklerden bir tanesine dallanma işlemi gerçekleştirilir. if, if else, switch case gibi yapılar bu tür komutları oluşturur.
Tekrarlama (loop,repetition).Bu tip kontrol yapılarında bir işlemler grubu, bir koşula bağlı olarak belirli sayıda (100 kez, 500 kez vb) tekrarlı olarak icra edilebilir.
Programın kontrolünü, programın başka bir noktasına gönderen break ve continue deyimleri.
Swift dilinde switch-case deyimi C’deki benzerinden daha güçlüdür; çünkü C’de olduğu gibi break ile kontrol edilmediği takdirde otomatik bir sonraki case’e geçme durumu engellenmiştir.
Swift dilinde C’deki klasik for deyimi yanında ilave olarak for-in deyimi de mevcuttur. Bu deyim dizi ve sözlükler için döngü oluşturma konusunda çok faydalıdır.
Aşağıda, Objective C dilindeki bütün kontrol yapıları tüm ayrıntıları ile verilmektedir.