İçeriğe geç

Swift #selector kullanımı

swift

Merhabalar bu yazımda Swift 2.2 versiyonundan sonra Selector() yerine kullanılmaya başlayan bir aksiyon tanımlayıcısının kullanımına örnek vereceğim.

Daha önceki versiyonlarda bir fonksiyonu örnekteki gibi tap gastureye tanıtırken Selector(“çalışacakfonksiyonadı”) şeklinde tanımlıyorduk.Dışardan veri alıyorsa Selector(“çalışacakfonksiyonadı:”) oluyordu. Bu kullanım çokta hoş bir kullanım değil.Swift takımı buna el atmış ve yerine #selector formatını getirmiş.

class someClass:NSObject {
    
   var say:String?
    
    override init(){}
    
    func saySomething(text:String) {
        say = text
    }
}

let obj = someClass()

let selector = #selector(obj.saySomething(_:) as (String) -> Void) //

Yukardaki örnekte selector değişkeni artık o fonksiyonu temsil etmekte.Fonksiyon yapısına görede selector cast edildi.

Aşağıdaki İOS touch tetiklenmesine değişken adı olarak eklenebilir veya #selector(Sınıfadı.fonksiyonismi(_:)) olarak herhangi bir fonksiyon kullanılabilinir.

let tapGestureRecognizer = UITapGestureRecognizer(target: gameViewController, action: selector)
self.addGestureRecognizer(tapGestureRecognizer)

Üstteki selector değişkenini action’da kullanmış olduk.

Kategori:Swift

Bu yazı yorumlara kapalı.

Copyright © 2022 Kenan Atmaca