Update Label On Another View

后端 未结 2 1846
被撕碎了的回忆
被撕碎了的回忆 2021-01-15 02:27

I have two views with a label on one of them. On the second view, there is a button. What I want to achieve here is to be able to press the button and it updates the label o

相关标签:
2条回答
  • 2021-01-15 03:05

    You can use NSNotificationCenter for that.

    First of all in your viewDidLoad method add this code in your firstViewController class:

    NSNotificationCenter.defaultCenter().addObserver(self, selector: "refreshlbl:", name: "refresh", object: nil)
    

    which will addObserver when your app loads.

    And add this helper method in same viewController.

    func refreshlbl(notification: NSNotification) {
    
        lbl.text = "Updated by second View"  //Update your label here.
    }
    

    After that in your secondViewController add this code when you dismiss your view:

    @IBAction func back(sender: AnyObject) {
        NSNotificationCenter.defaultCenter().postNotificationName("refresh", object: nil, userInfo: nil)
        self.dismissViewControllerAnimated(true, completion: nil)
    }
    

    Now when you press back button from secondView then refreshlbl method will call from firstView.

    0 讨论(0)
  • 2021-01-15 03:17

    use custom delegate method create a delegate in second view and access that view delegate function in first view. or use NSNotification or use NSUserdefaults

    0 讨论(0)
提交回复
热议问题