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

  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010
  • TechBalance

    TechBalance

    12 HAZİRAN 2011