oscarimonbox
1/20/2017 - 10:35 AM

0delegate añadir-delegate-custom-nografico-III

añadir-delegate-custom-nografico-III

1) en la clase que dispara el delegate

protocol XXXDelegate: AnyObject {
    func goToSelectedNew(_ new: News?)
}

class XXXX: XXXXX {
      weak var delegate: ClassHomeNewDelegate?

...


    @IBAction func goToNewPressed(_ sender: Any) {
        delegate?.goToSelectedNew(self.selectedNew)
    }

}

2) en la clase que recibe el delegate

  class HomeViewController: XXXDelegate
  
      override func viewDidLoad() {
        super.viewDidLoad()
        
        ----- creación de la view
        view.delegate = self;
        }
        
      func goToSelectedNew(_ new: News?) {
        DBManager.sharedInstance.readNewItem(id: Int((new?.id)!));
        self.performSegue(withIdentifier: "showNewsDetail", sender: self)
      }
        
  }
1) Añadir en .h (antes de interface)

@class DOLostWizardViewController;

@protocol DOLostWizardViewControllerDelegate <NSObject>

- (void)finishedWizard:(DOLostWizardViewController *)vc andDog:(DDLostDog*)dog;

@end


2) añadir después de interface

@property (weak, nonatomic) id<DOLostWizardViewControllerDelegate> delegate;


3) añadir en .m

#pragma mark Delegate

-(void) onWizardFinished: (DDLostDog*) doggy{
    if(self.delegate){
        [self.delegate finishedWizard:self andDog:doggy];
    }
}

4) añadir la llamada

[self onWizardFinished:d];


5) añadir el delegate al .h del recipiente y añadir el .delegate=self en el .m