SORU
7 HAZİRAN 2014, CUMARTESİ


Swift delegeler?

Nasıl bir temsilci, 6 yani ** hızlı yapma konusunda mı?

CEVAP
11 EYLÜL 2014, PERŞEMBE


İşte iki görünümü denetleyicileri arasında delegeler üzerinde küçük bir yardım:

Adım 1:/Veri gönderecek çıkarma olacak UİViewController bir protokol yapın.

protocol FooTwoViewControllerDelegate{
    func myVCDidFinish(controller:FooTwoViewController,text:String)
}

Adım 2:Gönderen sınıfta temsilci (UİViewcontroller yani) bildirin

class FooTwoViewController: UIViewController {
    var delegate:FooTwoViewControllerDelegate! = nil
    [snip...]
}

Adım 3:Sınıf yöntemi olarak temsilci protokolünü onayladı herhangi bir yöntem olan Alma yöntemi, veri göndermek için kullanın.

@IBAction func saveColor(sender : UIBarButtonItem) {
        delegate!.myVCDidFinish(self, text: colorLabel.text) //assuming the delegate is assigned otherwise error
}

Adım 4:Alıcı sınıfta protokolü kabul

class ViewController: UIViewController,FooTwoViewControllerDelegate {

Adım 5:Temsilci yöntemini uygular

func myVCDidFinish(controller: FooTwoViewController, text: String) {
    colorLabel.text = "The Color is "    text
    controller.navigationController.popViewControllerAnimated(true)
}

Adım 6:Bu prepareForSegue temsilci ayarlayın:

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
    if segue.identifier == "mySegue"{
        let vc = segue.destinationViewController as FooTwoViewController
        vc.colorString = colorLabel.text
        vc.delegate = self
    }
}

Ve bu çalışması gerekir. Bu kod parçaları sadece tabii ki, ... ama size bir fikir verecektir. Bu kod, uzun bir açıklama için benim blog girişi için buraya gidebilirsin:

segues and delegates

Eğer bir temsilci ile kaputun altında neler oluyor ilgilenen varsa buraya yaz yaptım:

under the hood with delegates

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • mipd1980

    mipd1980

    25 EKİM 2006
  • REK Roth Productions

    REK Roth Pro

    8 Ocak 2011
  • Troy Hunt

    Troy Hunt

    29 EYLÜL 2011