Я создаю небольшое игровое приложение для игры в гольф, чтобы отслеживать прогресс двух игроков в первых девяти.Я думаю, что моя логика правильна, и линтер в XCode не улавливает ошибок, но мой UISlider не будет перемещаться в симулированной сборке, и соответствующая интерполяция строк не будет загружаться.Кто-нибудь может помочь?
// ViewController.swift
// DiscGolfScoresheet
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
updateHole()
}
// Holes available to play
let frontNineList = ["Hole 1", "Hole 2", "Hole 3", "Hole 4", "Hole 5", "Hole 6", "Hole 7", "Hole 8", "Hole 9"]
// Counter to track current hole in play
var currentHoleIndex = 0
// UI elements grouped
@IBOutlet weak var holeLabel: UILabel!
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var oneScore: UILabel!
@IBOutlet weak var oneSlider: UISlider!
@IBOutlet weak var twoScore: UILabel!
@IBOutlet weak var twoSlider: UISlider!
// Variables to track players' scores through the rounds
var oneCurrentScore = 0
var twoCurrentScore = 0
// Action to track slider/score changes for player one
@IBAction func oneSliderChanged(_ sender: UISlider) {
let oneCurrentScore = Int(sender.value)
oneScore.text = "Player one's total score: \(oneCurrentScore)"
}
// Action to track slider/score changes for player two
@IBAction func twoSliderChanged(_ sender: UISlider) {
let twoCurrentScore = Int(sender.value)
twoScore.text = "Player two's total score: \(twoCurrentScore)"
}
// Function to cycle through all nine holes with associated pictures and labels
func updateHole() {
holeLabel.text = frontNineList[currentHoleIndex]
let holePicture = frontNineList[currentHoleIndex]
let image = UIImage(named: holePicture)
imageView.image = image
}
// Function to go to next hole when button is selected and to cycle through indefinitely
@IBAction func goToNextHole(_ sender: Any) {
currentHoleIndex += 1
if currentHoleIndex >= frontNineList.count {
currentHoleIndex = 0
}
updateHole()
}
}