プラグロム初心者です。以下のようなプログラムでボタンをタップしてUILabelのテキストを変更しようとしています。class ViewController内に変更用の関数を作成して変更は出来たのですが、クラス外の関数、ファイルから制御しようとすると、シミュレーターの起動まではするのですが、ボタンをタップしたところでエラーになってしまいます。エラーの原因もわからず

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        animalView.text = ""
    }

    @IBOutlet weak var animalView: UILabel!

    @IBAction func catButton(_ sender: Any) {
        let animal = Animal.cat
        animalChange(animal)
    }
    @IBAction func dogButton(_ sender: Any) {
        let animal = Animal.dog
        animalChange(animal)    }
    @IBAction func cowButton(_ sender: Any) {
        let animal = Animal.cow
        animalChange(animal)
    }

}

enum Animal{
    case cat
    case dog
    case cow
}

func animalChange(_ insAnimal: Animal){
    switch insAnimal{
    case.cat:
        print("ねこ")
        let catView = ViewController()
        catView.animalView.text = ""      ←ここでエラーになります。
    case.dog:
        print("いぬ")
//        let dogView = ViewController()
//        dogView.animalView.text = ""
    case.cow:
        print("うし")
//        let cowView = ViewController()
//        cowView.animalView.text = ""
    }

}