Kullanarak Swift ile isKindOfClass | Netgez.com
SORU
3 HAZİRAN 2014, Salı


Kullanarak Swift ile isKindOfClass

Swift lang biraz almaya çalışıyorum ve Swift içine aşağıdaki Objective-C dönüştürmek nasıl merak ediyorum:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesBegan:touches withEvent:event];

    UITouch *touch = [touches anyObject];

    if ([touch.view isKindOfClass: UIPickerView.class]) {
      //your touch was in a uipickerview ... do whatever you have to do
    }
}

Özellikle yeni sözdizimi isKindOfClass nasıl kullanılacağını bilmek istiyorum.

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {

    ???

    if ??? {
        // your touch was in a uipickerview ...

    }
}

CEVAP
3 HAZİRAN 2014, Salı


override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {

    super.touchesBegan(touches, withEvent: event)
    let touch : UITouch = touches.anyObject() as UITouch

    if touch.view.isKindOfClass(UIPickerView)
    {

    }
}

Edit

Diğer cevaplar işaret ettiği gibi, doğru şekilde as? isteğe bağlı type cast operator olurdu:

    if let picker = touch.view as? UIPicker  {

    }

Optional Chaining alt Downcasting bölüm bölümünde bu konuda daha fazla bilgi edinebilirsiniz

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • FD2097

    FD2097

    21 HAZÄ°RAN 2009
  • LatinNinja99

    LatinNinja99

    28 EKÄ°M 2011