Swift & Xcode: UISlider не будет отвечать в симулированной сборке - PullRequest
0 голосов
/ 12 марта 2019

Я создаю небольшое игровое приложение для игры в гольф, чтобы отслеживать прогресс двух игроков в первых девяти.Я думаю, что моя логика правильна, и линтер в 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()
}

}

...