Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protocol HashTagPickerDelegate {
- func hastagPicked(hashtag:String)
- }
- class HashtagPicker : UIViewController
- {
- var delegate: HashTagPickerDelegate?
- }
- delegate.hashtagPicked(pickedHashtag)
- class ParentView:UIViewController, HashTagPickerDelegate
- {
- }
- func prepare(for segue: UIStoryboardSegue, sender: AnyObject?)
- {
- if segue.identifier == "HastagPickerSegue" // use your segue id here
- {
- let hashtagPicker = segue.destinationViewController as! HashtagPickerView
- hashtagPicker.delegate = self
- }
- }
- NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ParentViewController.someActionToBePerformed), name: "myNotification", object: nil)
- func someActionToBePerformed () {
- // this will be called when hashTag is changed
- // do something when hashTag is changed
- }
- NSNotificationCenter.defaultCenter().postNotificationName("myNotification", object: nil)
- // note the ": class" part
- protocol HashTagPickerDelegate: class {
- func picked(hashtag: String)
- }
- class HashtagPicker: UIViewController {
- // if HashTagPickerDelegate wouldn't be limited to class,
- // we couldn't have made a weak reference here!
- weak var delegate: HashTagPickerDelegate?
- // at some point, you call the delegate, it can be anywhere, this is just an example
- @IBAction func tappedHashtag(_ sender: Any) {
- delegate?.picked(hashtag: "bla")
- }
- }
- class ParentView: UIViewController, HashTagPickerDelegate {
- func prepare(for segue: UIStoryboardSegue, sender: Any?) {
- // we are presenting the nested controller
- if segue.identifier == "SegueHastagPickerContainer",
- let destinationController = segue.destination as? HashtagPicker {
- destinationController.delegate = self
- }
- }
- }
Add Comment
Please, Sign In to add comment