こんにちは。

他のクラスのUIViewの値を(例えばsomeView.alphaの値など)引数を利用してボタンを押した時に変更したいのですが、変更されません。
下記のコードですが、ボタンを押した時にそれぞれのcaseまでは到達しているようですが(printで確認しました)、目的のviewのプロパティの値が変わりません。
ちなみに初期状態(ViewDidLoad)では変更されるようです。

ボタンを押した時に値を変更するにはどうすれば良いか教えてください。


ViewController.swift

class ViewController: UIViewController {

    @IBOutlet weak var vHome: UICollectionView!
    @IBOutlet weak var vSearch: UICollectionView!

    override func viewDidLoad() {
        super.viewDidLoad()
        selectRd(rd: 3) //ViewDidLoadなんかの初期値では変更できるようです

    }
}

extension ViewController {

    func selectRd(rd reader:Int){

        var animateView:UIView!

        let animateVHome   = vHome
        let animateVSearch = vSearch

        UIView.animate(withDuration: 0.3, delay: 0.0, animations: {
            animateVHome.alpha   = 0.0
            animateVSearch.alpha = 0.0
        }, completion: nil)

        switch reader {
        case 2:
            animateView = animateVHome
        case 3:
            animateView = animateVSearch
        default:
            break
        }

        UIView.animate(withDuration: 0.3, delay: 0.3, animations: {
            animateView.alpha = 1.0
        }, completion: nil)
    }

}




Another.swift

class Another{
    @objc func buttonTapped(sender : HeaderButton) {
        let vC = ViewController
        vC.selectRd(rd: 2) //このボタンを押した時が変更されません。caseまでは行ってます。
    }
}