SORU
11 HAZİRAN 2014, ÇARŞAMBA


RespondsToSelector hızlı karşılığı nedir?

Google'dan araştırdım ama swift karşılığı nedir bulabildiniz respondsToSelector var:.

Bu tek şey bulabildiğim (Swift alternative to respondsToSelector:) değil de ilgili bir olay olarak kontrol varlığı temsilci yok bir temsilci istiyorum yüklenmediğini kontrol etmek için yeni bir API var mı yok üzerinde çalışırken, cihaz ve eğer geri düşmek için bir önceki sürüm apı.

CEVAP
11 HAZİRAN 2014, ÇARŞAMBA


Belirtildiği gibi, Hızlı? isteğe bağlı unwrapper operatörü ile ne elde edebilirsiniz çoğu zaman. Bu bir nesne varsa ve eğer nesne varsa sadece (nil) bir yöntem aramak için izin verir ve bu yöntem uygulanır.

Hala respondsToSelector:, ihtiyaç durumunda hala orada NSObject protokolünün bir parçası olarak.

Eğer respondsToSelector: Swift N-C tipi bir arıyorsanız, o zaman beklediğiniz gibi çalışıyor. Eğer kendi Swıft sınıf üzerinde kullanıyorsanız, sizin sınıf NSObject türetir sağlamak gerekir.

Burada eğer bir seçici yanıt olmadığını kontrol edebilirsiniz Hızlı bir sınıfın bir örnek:

class Worker : NSObject
{
    func work() { }
    func eat(food: AnyObject) { }
    func sleep(hours: Int, minutes: Int) { }
}

let worker = Worker()

let canWork = worker.respondsToSelector(Selector("work"))   // true
let canEat = worker.respondsToSelector(Selector("eat:"))    // true
let canSleep = worker.respondsToSelector(Selector("sleep:minutes:"))    // true
let canQuit = worker.respondsToSelector(Selector("quit"))   // false

Parametre adlarını dışarı bırakmayın önemlidir. Bu örnekte, Selector("sleep::")değilSelector("sleep:minutes:") olarak aynı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • RobertDuskin

    RobertDuskin

    12 HAZİRAN 2008
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012
  • tinycammonitor

    tinycammonit

    14 Aralık 2010