class ViewControllerのUILabelをクラス外の関数や別ファイルから制御したい
プラグロム初心者です。以下のようなプログラムでボタンをタップして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 = ""
}
}