Функция не использует весь мой массив для изменения текста на экране кнопки

Когда я запускаю свой код, он корректно меняет QLabel.text, но не меняет текст ответов. все кнопки сохраняют тот же текст, который был до выбора вопросов. Он также не загружает ответы при первой загрузке. он сохраняет текст, установленный в инспекторе атрибутов.

Я использую Xcode Version 3.0

import UIKit



struct Question
{
    var Question : String!
    var Answers : [String]!
    var Answer : Int!
}


class AnimalViewController: UIViewController {



    @IBOutlet weak var QLabel: UILabel!
    @IBOutlet var Buttons: [UIButton]!

   var Questions = [Question]()

    var QNumber = Int()

    var AnswerNumber = Int()



    override func viewDidLoad() {
        super.viewDidLoad()




        Questions = [Question(Question: "What is the fastest fish in the ocean?", Answers: ["Flounder","Sailfis","Swordfish","Lionfish","Tiger Shark"], Answer: 1),
                     Question(Question: "Which animal has the most legs?", Answers: ["Shrimp","Octopus","Millipede","Dog","Lion"], Answer: 2),
                     Question(Question: "What are baby beavers called?", Answers: ["Pups","Joeys","Beaves","Kids","Kittens or Kits"], Answer: 4)]

        PickQuestion()
    }


    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    func PickQuestion(){

        if Questions.count > 0
        {
            QNumber = 0
            QLabel.text = Questions[QNumber].Question

            AnswerNumber = Questions[QNumber].Answer

            for i in 0..<Buttons.count
                {
                Buttons[i].setTitle(Questions[QNumber].Answers[i], for: UIControlState.normal)
                }
            Questions.remove(at: QNumber)
        }
        else
        {
            NSLog("Done")
        }

    }

    @IBAction func Btn1(_ sender: AnyObject) {

        if AnswerNumber == 0
        {
            PickQuestion()
        }
        else
        {
            NSLog("Wrong!")
        }

    }

    @IBAction func Btn2(_ sender: AnyObject) {

        if AnswerNumber == 1
        {
            PickQuestion()
        }
        else
        {
            NSLog("Wrong!")
        }
    }

    @IBAction func Btn3(_ sender: AnyObject) {

        if AnswerNumber == 2
        {
            PickQuestion()
        }
        else
        {
            NSLog("Wrong!")
        }
    }

    @IBAction func Btn4(_ sender: AnyObject) {

        if AnswerNumber == 3
        {
            PickQuestion()
        }
        else
        {
            NSLog("Wrong!")
        }
    }

    @IBAction func Btn5(_ sender: AnyObject) {

        if AnswerNumber == 4
        {
            PickQuestion()
        }
        else
        {
            NSLog("Wrong!")
        }
    }


}

0 ответов

Другие вопросы по тегам