iOSアプリ開発 Swiftでクイズアプリを作ってみる 後編

2019年7月23日火曜日

iosアプリ開発 Swiftでクイズアプリを作ってみる

t f B! P L









目次

1. クイズ問題出題
2. ボタンが押された時のアクション
3.シュミレーターで確認









1. クイズ問題出題


  1. var questionNumber = 0
  2. var correctAnswerNumber = 0

  1. func question() {
  2. if questionNumber >= csvArray.count {
  3. let alert = UIAlertController(title: "漫画クイズ", message: "\(correctAnswerNumber)問正解", preferredStyle: .alert)
  4. let action = UIAlertAction(title: "終了", style: .default, handler: {
  5. (_) in self.dismiss(animated: true, completion: nil)
  6. })
  7. alert.addAction(action)
  8. present(alert, animated: true, completion: nil)
  9. return
  10. }
  11. let problemData = csvArray[questionNumber]
  12. label00.text = "第" + "\(questionNumber+1)問"
  13. label01.text = (problemData[0]as AnyObject as! String)
  14. let number = numberList()
  15. for i in 0...3 {
  16. button01[i].setTitle((problemData[number[i]]as AnyObject as! String), for: .normal)
  17. }
  18. }
  19. func numberList() -> [Int] {
  20. var list = [1,2,3,4]
  21. for _ in 1...10 {
  22. let i1 = Int(arc4random() % 4)
  23. let i2 = Int(arc4random() % 4)
  24. if i1 != i2 {
  25. list.swapAt(i1,i2)
  26. }
  27. }
  28. return list
  29. }





  1. override func viewDidLoad() {
  2. super.viewDidLoad()
  3. csvToArray()
  4. question()
  5. }
viewDidLoad()内にquestion()





2. ボタンが押された時のアクション

  1. @IBAction func buttonCheck(_ sender: Any) {
  2. let answer = (sender as AnyObject).currentTitle!
  3. let questionData = csvArray[questionNumber]
  4. let answerNumber = questionData.index(of: answer!)
  5. if answerNumber == 1 {
  6. correctAnswerNumber += 1
  7. UIView.animate(withDuration: 1.0, animations: {
  8. UIApplication.shared.beginIgnoringInteractionEvents()
  9. self.currectAnswer.alpha = 1.0
  10. }) { (Bool) in
  11. self.currectAnswer.alpha = 0.0
  12. self.questionNumber += 1
  13. self.question()
  14. UIApplication.shared.endIgnoringInteractionEvents()
  15. }
  16. } else {
  17. UIView.animate(withDuration: 1.0, animations: {
  18. UIApplication.shared.beginIgnoringInteractionEvents()
  19. self.incorrectAnswer.alpha = 1.0
  20. }) { (Bool) in
  21. self.incorrectAnswer.alpha = 0.0
  22. self.questionNumber += 1
  23. self.question()
  24. UIApplication.shared.endIgnoringInteractionEvents()
  25. }
  26. }
  27.  }
  28. }





3.シュミレーターで確認

シンプルなクイズアプリを作ってみました。

これから少しずつ、機能を追加していきたいと思います。



keep175
Illustrator,photoshop,アプリ開発の勉強中です。

アーカイブ

QooQ