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

  • KarnasCamillo

    KarnasCamill

    24 EKİM 2007
  • LounaTutorials

    LounaTutoria

    10 EYLÜL 2009
  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008