iOS 102Başlangıç seviyesi derslerde iOS uygulama geliştirme ortamını detaylı olarak inceliyoruz.

Tüm Eğitimleri Aldın mı? Kendini sınamanın tam zamanı

Haydi Sınava Gir

Fonksiyon Parametresini Esnek Yapmak

Kategori : Mobil | Lisans : Creative Commons (by-nc-sa) | En son 22.07.2018 tarihinde güncellendi
Eğitmen : Geleceği Yazanlar Ekibi
Etiketler : swift fonksiyon parametresi

 

@auto_closure() fonksiyonunu isimlendirilmiş parametre olarak kullanarak, fonksiyona her seferinde farklı bir ifadeyi parametre olarak geçirebiliriz. Aşağıdaki örnek kodda, y ve x değişkenleri için iki ayrı koşul ile TestEt fonksiyonu çağrılmıştır:

func TestEt(_ kosul: @autoclosure () -> Bool, bildiri: String) {
    if !kosul() {
        print(bildiri)
    }
}

let y = 9
TestEt(y>=0, bildiri: "SAYI NEGATİFTİR İŞLEM YAPILAMAZ....")

let x = -5
TestEt(x>=0, bildiri: "x SAYISI NEGATİFTİR İŞLEM YAPILAMAZ....")

 

 

PROGRAMIN ÇIKTISI

 

x SAYISI NEGATİFTİR İŞLEM YAPILAMAZ....

 

İÇ İÇE FONKSİYON TANIMLAMA (NESTED FUNCTIONS)

 

İç içe döngüler oluşturulabildiği gibi, Swift’te, iç içe fonksiyonlar da tanımlanabilir. Aşağıdaki örnekte, gönderilen iki tam sayının çarpımını hesaplayıp geri gönderen iki ayrı fonksiyon, carp1 ve carp2 adları ile ve ayrı stillerde yazılmışlardır.carp1 tek kademeli, carp2 ise içiçe yapılandırılmış fonksiyonlardır:

 

func carp1(_ a: Int, b: Int) -> Int {
    return a * b
}

func carp2(_ a: Int) -> (Int) -> Int {
    func carp2ic(b: Int) -> Int {
        return a * b
    }
    
    return carp2ic
}

print("8*7=\(carp2(8)(7))")
print("18*5=\(carp1(18,b: 5))")

 

PROGRAMIN ÇIKTISI

8*7=56

18*5=90

 

 

DİZİ (ARRAY) TİPİ

 

Dizi tipini tanımlamak için kullanılabilecek 2 farklı bildirim şekli mevcuttur:

 

I. [] sembolleri kullanmak

var x: [Int] = [12,34,46,8,9,11]

print("x...dizisi...\(x)")

x...dizisi...[12, 34, 46, 8, 9, 11]

Program ended with exit code: 0

II.Diğer dizi tanımlama yolu ise Array<Tip> kalıbını kullanmaktır:

var x: Array<Int> = [12,34,46,8,9,11]

print("x...dizisi...\(x)")

x...dizisi...[12, 34, 46, 8, 9, 11]

Program ended with exit code: 0