Ios 如何为结构的每个成员分配一个编号?(swift)
我有一个测验应用程序。我希望用户能够按“下一个问题”按钮,并能够访问问题1,问题2,问题3等的顺序 我希望应用程序有一个后退按钮,这样用户也可以访问前面的问题。例如,如果用户正在回答问题3,则他们可以按后退按钮访问问题2 我想给问题结构中的每个问题分配一个数字,然后根据按下的按钮,即“下一个问题”按钮或“上一个问题”按钮,调用下一个编号的问题或上一个编号的问题 以下是我如何设置我的问题:Ios 如何为结构的每个成员分配一个编号?(swift),ios,arrays,swift,struct,swift2,Ios,Arrays,Swift,Struct,Swift2,我有一个测验应用程序。我希望用户能够按“下一个问题”按钮,并能够访问问题1,问题2,问题3等的顺序 我希望应用程序有一个后退按钮,这样用户也可以访问前面的问题。例如,如果用户正在回答问题3,则他们可以按后退按钮访问问题2 我想给问题结构中的每个问题分配一个数字,然后根据按下的按钮,即“下一个问题”按钮或“上一个问题”按钮,调用下一个编号的问题或上一个编号的问题 以下是我如何设置我的问题: struct Question { var Question : String! var
struct Question {
var Question : String!
var Answers : String!
}
var Questions = [Question]()
var QNumber = Int()
@IBOutlet weak var labelForQuestion: UILabel!
@IBOutlet weak var textBoxForAnswer: UITextView!
override func viewDidLoad() {
//hiding answer
textBoxForAnswer.hidden = true
//Load Questions
Questions = [
Question(Question: "This is question 1", Answers: "This is answer 1"),
Question(Question: "This is question 2", Answers: "This is answer 2"),
Question(Question: "This is question 1", Answers: "This is answer 1"),
]
pickQuestion()
}
func pickQuestion() {
if Questions.count > 0 {
//setting Qnumber equal to 0 gives sequential quiz game no repeats
QNumber = 0
labelForQuestion.text = Questions[QNumber].Question
textBoxForAnswer.text = Questions[QNumber].Answers
//remove question so it doesnt come up again
Questions.removeAtIndex(QNumber)
}
}
@IBAction func Next(sender: AnyObject) {
pickQuestion()
}
@IBAction func showAnswer(sender: AnyObject) {
textBoxForAnswer.hidden = false
}
所以基本上我想做
ui动作
,让我能够在问题之间来回切换。你知道我该怎么做吗 您应该从pickQuestion
中删除QNumber=0
,并在外部递增/递减它。此外,您可能应该删除问题。删除索引(QNumber)
。总的来说,这些变化应该是:
指定初始QNumber
值
var QNumber : Int = 0
更改pickQuestion
逻辑:
func pickQuestion() {
labelForQuestion.text = Questions[QNumber].Question
textBoxForAnswer.text = Questions[QNumber].Answers
}
更改下一步的:
@IBAction func Next(sender: AnyObject) {
QNumber++; // you need some handling to not go out of bounds if you are already showing the last question
pickQuestion()
}
同样的情况也适用于上一个(…)
做一个QNumber--
进一步说明:
- 请让方法和变量以小写字母开头:
,next
,qNumber
,每个问题
,等等问题的成员
那太棒了。谢谢你的帮助,这正是我要找的。我能够加入一些代码,阻止它越界,所以它现在工作得很好。