Я выполнил задачу, чтобы создать приложение-историю, которое будет иметь разные окончания в зависимости от ответа, который вы дадите.И приложение работает нормально, но я не совсем понимаю.По сути, это очень просто: в нем есть UILabel с текстом и 2 кнопки UIB, которые меняют каждый шаг игры.
Чтобы отделить наши операторы if от другого, нам нужно было создать переменную с именем storyIndex
который мы ставим после кода sender.tag ==
.
, выглядит следующим образом:
@IBAction func buttonPressed(_ sender: UIButton) {
if sender.tag == 1 && storyIndex == 1 {
storyTextView.text = story3
topButton.setTitle(answer3a, for: .normal)
bottomButton.setTitle(answer3b, for: .normal)
storyIndex = 3
}
else if sender.tag == 2 && storyIndex == 1 {
storyTextView.text = story2
topButton.setTitle(answer2a, for: .normal)
bottomButton.setTitle(answer2b, for: .normal)
storyIndex = 2
}
else if sender.tag == 1 && storyIndex == 3 {
storyTextView.text = story6
storyIndex = 6
topButton.isHidden = true
bottomButton.isHidden = true
}
else if sender.tag == 2 && storyIndex == 3 {
storyTextView.text = story5
storyIndex = 5
topButton.isHidden = true
bottomButton.isHidden = true
}
else if sender.tag == 1 && storyIndex == 2 {
storyTextView.text = story3
topButton.setTitle(answer3a, for: .normal)
bottomButton.setTitle(answer3b, for: .normal)
storyIndex = 3
}
else if sender.tag == 2 && storyIndex == 2 {
storyTextView.text = story4
storyIndex = 4
topButton.isHidden = true
bottomButton.isHidden = true
}
, а переменная помещалась ниже соединений IBoutlets:
var storyIndex : Int = 1
иВ верхней части кода чуть ниже класса у нас были наши константы, содержащие текст истории:
например:
let story1 = "Your car has blown a tire on a winding road in the middle of nowhere with no cell phone reception. You decide to hitchhike. A rusty pickup truck rumbles to a stop next to you. A man with a wide brimmed hat with soulless eyes opens the passenger door for you and asks: \"Need a ride, boy?\"."
Так что я наконец-то выяснил, как это сделать с небольшой помощью на вкладке «Вопросы и ответы».но на самом деле я не понимаю, как Свифт знает, что storyIndex
скажем, 2 - это история 2?где я определяю это, в основном, где находится связь между константами и переменной storyIndex
.Слово Индекс работает так?Или я это определил?
Не проще ли сделать что-то подобное?
if sender.tag == 1 && storyTextView.text == (\story1) {
Извините за мой английский, это мой третий язык.