首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >打印按钮集合中的整数数组,Swift

打印按钮集合中的整数数组,Swift
EN

Stack Overflow用户
提问于 2016-09-26 04:14:47
回答 1查看 120关注 0票数 0

我正在用Xcode创建一个问答游戏,在问答完成后,我有一个屏幕,其中显示了所问的5个问题(来自70+数组),以及相应的正确答案(答案)和用户选择的答案(UserAnswer)。

我目前有一个正确答案(CorrectAnswer)的标签集合和一个单独的user answers YourAnswer标签集合。我希望连续打印为5个标签(QuestionName、YourAnswer、CorrectAnswer)集合中的每个数组存储的所有5个值。

我是编程新手,所以任何在循环中使用数组的帮助都将不胜感激。

First View Controller:

代码语言:javascript
运行
复制
struct Question {
   var Question : String
   var Answers : [String]!
   var Answer : Int!
   var UserAnswer : Int!
   }

var Questions = [Question]()

第二个视图控制器:

代码语言:javascript
运行
复制
class ScoreViewController: UIViewController {

var Questions = [Question]()
var CorrectAnswerTotal = Int()
var QuestionNumberTotal = Int()
let TOTAL_QUESTIONS = 0
var AnswerNumber = Int()


@IBOutlet var QuestionName: [UILabel]!
@IBOutlet var YourAnswer: [UILabel]!
@IBOutlet var CorrectAnswer: [UILabel]!


  for i in 0..<Questions.count {

    var q = Questions[i].Question
    var ai = Questions[i].Answer
    var a = Questions[i].Answers[ai]
    var uai = Questions[i].UserAnswer
    var ua = Questions[i].Answers[uai]

     //This is where the error is

    if QuestionNumberTotal < TOTAL_QUESTIONS {

            if (ai != uai){

                QuestionName.text = Questions[i].Question
                YourAnswer.text = Questions[i].UserAnswer
                CorrectAnswer.text = Questions[i].Answer

               }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-26 04:47:21

如果有什么不清楚的地方,请随时询问。

代码语言:javascript
运行
复制
struct Question {
    var question: String
    var answers: [String]
    var correctAnswer: Int
    var userAnswer: Int
}

var questions = [Question]()
var correctAnswerTotal = 0

@IBOutlet var questionName: [UILabel]!
@IBOutlet var yourAnswer: [UILabel]!
@IBOutlet var correctAnswer: [UILabel]!

override func viewDidLoad() {
    super.viewDidLoad()

    // fill it with some examples
    questions.append(Question(question: "Question 1?", answers: ["Answer 1", "Answer 2", "Answer 3", "4", "Answer 5"], correctAnswer: 0, userAnswer: 1))
    questions.append(Question(question: "Question 2?", answers: ["Answer 1", "Answer 2", "Answer 3", "4", "Answer 5"], correctAnswer: 1, userAnswer: 2))
    questions.append(Question(question: "Question 3?", answers: ["Answer 1", "Answer 2", "Answer 3", "4", "Answer 5"], correctAnswer: 3, userAnswer: 3))

    // assure, that the necessary amount of labels exists
    guard questionName.count >= questions.count
        && yourAnswer.count >= questions.count
        && correctAnswer.count >= questions.count else {
        print("Not enough labels.")
        return
    }

    // starts at 0 and ends at last-1
    for i in 0..<questions.count {

        let q = questions[i]
        let user = q.answers[q.userAnswer]
        let correct = q.answers[q.correctAnswer]

        // set labels texts
        questionName[i].text = q.question
        yourAnswer[i].text = user
        correctAnswer[i].text = correct

        // correct answer is green, incorrect answer is red
        if q.correctAnswer == q.userAnswer {
            correctAnswerTotal += 1
            yourAnswer[i].textColor = UIColor.green
        } else {
            yourAnswer[i].textColor = UIColor.red
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39691383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档