-
iOS(Swift) Eğitimlerine Başlarken
-
iOS(Swift) Eğitimlerine Başlarken Giriş
-
Bir Swift Programının Oluşturulması ve Çalıştırılması
-
Swift Diline Hızlı Bir Giriş
-
Diziler (Arrays) ve Sözlükler (Dictionaries)
-
Kontrol Komutları (Control Statements)
-
Swift'te Fonksiyonlar ve Kontrol Transfer Komutları (Control Transfer Statements)
-
Sınıflar(Classes) ve Nesneler(Objects) ve Yapılar(Structures)
-
Sayma Tipi (Enumeration), Protokoller (Protokols) ve Delege Etme (Delegation)
-
iOS(Swift) Eğitimlerine Başlarken Giriş
-
Swift Dilinin Temel Özellikleri
-
Bit Düzeyinde İşlem Gören Operatörler
-
Kontrol Komutları (Control Statements)
-
Swift'te Fonksiyonlar
-
Swift'te Fonksiyonlar Giriş
-
İç İçe (Nested) Fonksiyonlar
-
Birden Çok Formel Parametre alan Fonksiyonlar
-
Tek Çift Sayı Ayrımı Yapan Bir Fonksiyon
-
Parametresiz Fonsiyonlar
-
Değer Göndermeyen Fonksiyonlar
-
Birden Çok Değer Gönderen Fonksiyonlar
-
Dış Parametre İsimleri (External Parameter Names)
-
Değişkin (Variadic) Parametreler
-
Değişken (Variable) Parametreler
-
In-Out Türü Parametreler
-
Fonksiyon Tipinde Sabit ya da Değişken Tanımlamak
-
Bir Fonksiyonun Parametre Listesinde Başka Bir Fonksiyonun Kullanılması
-
Jenerikler (Generics)
-
Kapatma (Closure)
-
Swift'te Fonksiyonlar Giriş
-
Nesneye Yönelik Programlama (Object Oriented Programming)
-
Sınıf (Class) Oluşturma
-
Sınıf (Class) Oluşturma Giriş
-
Delege Etme (Delegaation)
-
Yapılar (Structures)
-
Sayma Tipi (Enumeration)
-
Dinamik(Dynamic) ve Statik(Static) Bağlama (Binding)
-
Çok Biçimlilik (Polymorphism)
-
Uzatmalar (Extensions)
-
Hesaplanmış Özellikler (Computed Properties)
-
Extension Yardımı ile Bir Yapıya (Structure) Özellik (Property) Ekleme
-
Protokoller (Protocols)
-
Self İfadesi
-
İlk Değer Atama (Inıtializer)
-
Nesnelere Ayrılan bellek alanını İade etme (Deinitializer)
-
Sınıf (Class) Oluşturma Giriş
-
Swift'te Tipler (Types)
-
Koleksiyon Tipleri (Collection Types)
-
Koleksiyon Tipleri (Collection Types) Giriş
-
Dizi İçine Aralık (Range) İfadesi ile Atama Yapma
-
Dizinin Elemanlarını Tarama
-
Dizilere İlk Değer Atamak için Alternatif bir Yol:count ve repeatedValue Metotları
-
Bir Tablonun Satır ve Sütun Toplamları ve Genel Toplamı
-
Kare Matris Swift Programı
-
Dizilerin Kopyasının Oluşturulması
-
Karakter Dizileri ile ilgili Swift Programı
-
Sözlüklerin Kopyasının Oluşturulması
-
Koleksiyon Tipleri (Collection Types) Giriş
-
Bildirimler (Declarations)
Swiftte kapatma adı verilen yapılar C ve Objective C’deki blok yapılarına ya da başka dillerdeki lambda yapılarına benzer.
Global ve iç içe kullanılmış fonksiyonlar aslında kapatmaların özel halleridir. Global fonksiyonlar adı olan fakat değer almayan kapatmalardır. İç içe (nested) fonksiyonlar ise ismi olan ve değer kullanan kapatmalardır.
Nihayet normal kapatmalar ise isimsiz olarak kullanılan kapatmalardır.
Bir kapatmanın genel yazılımı,
{ (Parametreler) -> Gönderdiği Tip in
Deyimler
}
şeklindedir.
ÖRNEK:
Aşağıdaki closure, s1<s2 ise true s1>s2 ise false değerini göndermektedir:
{(s1: String, s2: String) -> Bool in
return s1 < s2 })
Bu closure, aşağıda sort (sıralama) fonksiyonunun bir argümanı gibi kullanılmıştır:
var sehir = ["londra", "paris", "atina", "barcelona", "münih"]
sehir = sehir.sorted(by:({(s1: String, s2: String) -> Bool in return s1 < s2 }))
print(sehir)
PROGRAMIN ÇIKTISI
Program çalıştırılınca, sehir dizisindeki şehirler alfabetik sıraya dizilmişlerdir:
[atina, barcelona, londra, münih, paris]
Aşağıdaki programda ise ters alfabetik sıra elde edilmiştir:
var sehir = ["londra", "paris", "atina", "barcelona", "münih"]
sehir = sehir.sorted(by:({(s1: String, s2: String) -> Bool in return s1 > s2 }))
print(sehir)
[paris, münih, londra, barcelona, atina]