swift 3 delegate not work : I' ve this swift code where I've create a delegate but this not work correctly. I not understand where I wrong

    protocol MenuDelegate {
        func upateUserProfileImage()
    }

    // Userprofile view
    class UserProfileViewController: UIViewController {
        var delegate : MenuDelegate?
        override func viewDidLoad() {
            super.viewDidLoad()
            self.delegate?.upateUserProfileImage()
        }
        
    }

    class MenuViewController: UIViewController, MenuDelegate {
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view.
        }
        func upateUserProfileImage()  {
            print("Work!")
        }
    }


Thanks for help!!