如何对另一个按钮隐藏按钮 class

How to hide a button from another class

所以我有一个视图,它有一个带两个按钮的导航栏。我想知道是否可以从另一个 class 中选择是否要显示这些按钮? 我的意思是,当您在 RecentsVC 中并单击以发送新消息时,我会将您带到名为“联系人”的视图。该视图有两个按钮,我想隐藏其中一个。因此,在用于单击以发送新消息的 IBAction 中,我想设置 属性 以隐藏其中一个按钮。

Contacts 中有一个布尔变量,并在 RecentsVC class 的 prepare(for segue: ) 方法中设置该变量的值。然后使用该布尔值来测试 Contacts 是否应该隐藏导航栏按钮项目。

class RecentsVC: UIViewController {        

    override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) {
        if(segue.identifier == "sendMessage") {   // If there's only one segue from this view controller, you can remove this line
            let vc = segue.destination as! Contacts
            vc.buttonIsHidden = true
        }   // If you removed the if, don't forget to remove this, too
    }
}

class Contacts: UIViewController {

    var buttonIsHidden: Bool?

    override func viewDidLoad() {
        super.viewDidLoad()

        if buttonIsHidden == true {
            self.navigationItem.leftBarButtonItem = nil
        }
    }
}