All paths through this function will call itself

Can someone help me this is my code:

import UIKit
class GameViewController: UIViewController
{
@IBOutlet weak var scoreLabel:UILabel?
@IBOutlet weak var timeLabel:UILabel?
@IBOutlet weak var numberLabel: UILabel?
@IBOutlet weak var inputField:UITextField?

var score = 0

var timer:Timer?
var seconds = 60

override func viewDidLoad()
{
super.viewDidLoad()

updateScoreLabel()
updateNumberLabel()
updateTimeLabel()

}
func updateScoreLabel() {
scoreLabel?.text = String(score)

}
func updateNumberLabel() {
numberLabel?.text = String.randomNumber(length: 4)

}
func updateTimeLabel() { All paths through this function will call itself

let min = (seconds / 60) % 60
let sec = seconds % 60

    updateScoreLabel()
    updateNumberLabel()
    updateTimeLabel()

func updateScoreLabel() {
    scoreLabel?.text = String(score)
}
func updateNumberLabel() {
    numberLabel?.text = String.randomNumber(length: 4)
    
}

func inputFieldDidChange()
{

guard let numberText = numberLabel?.text, let inputText = inputField?.text else {
return
}
guard inputText.count == 4 else {
return
var isCorrect = true
for n in 0..<4
{var input = inputText.integer(at: n)
let number = numberText.integer(at: n)
if input == 0 {
input = 10
if input != number + 1 {
isCorrect = false
break
}} }
if isCorrect {
score += 1
} else {
score -= 1
}

updateNumberLabel()
updateScoreLabel()
inputField?.text = ""

if timer == nil
{
    timer = Timer.scheduledTimer (withTimeInterval: 1.0, repeats: true) { timer in
        
            if self.seconds == 0 {
                finishGame()
        }
        
            else if self.seconds <= 60 {
                self.seconds -= 1
                self.updateTimeLabel()
            }
    }

func finishGame()
{

timer?.invalidate()
timer = nil

let alert = UIAlertController(title: "Time's Up!", message: "Your time is up! You got a score of /(score) points. Awesome!", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK, start new game", style: .default, handler: nil))

self.present(alert, animated: true, completion: nil)

score = 0
seconds = 60

updateTimeLabel()
updateScoreLabel()
updateNumberLabel()

 }

}
}

}
}
}

It's a bit herd to tell what's going on because of the formatting, but from what I can see, the fifth line of func updateTimeLabel() is a call to updateTimeLabel(). This means that if updateTimeLabel() is ever called, it will cause an infinite recursion and run forever. You probably mean to do something else there, like

timeLabel?.text = "\(min):\(sec)"

Oh! Thanks!