クイズのアプリで,正解のボタンを押すと答えが溜まっていき,最後の最後の画面で合計点を表示したいです
上記のシステムを本を読んだりして,作ってみたのですが,エラーなどは出ないのですが,どの回答を選択しても,合計点が0になってしまいます.
読んだ本は「絶対に挫折しないiPhoneアプ開発超入門」という本です。
https://www.youtube.com/watch?v=Y5o8ZKGNWIA&t=403s
こちらの動画を参考にして開発しました。
しかし、独学なので自分の作りたいアプリを考えて作ってみたところ今回のような形になってしまいました。
発生している問題・エラーメッセージ
swift
1コードimport UIKit 2 3class Question1ViewController: UIViewController { 4 5 var score1 = 0 6 @IBAction func q11(){ 7 score1 += 0 8 } 9 @IBAction func q12(){ 10 score1 += 0 11 } 12 @IBAction func q13(){ 13 score1 += 1 14 } 15 @IBAction func q14(){ 16 score1 += 0 17 } 18 19 20 override func viewDidLoad() { 21 super.viewDidLoad() 22 23 24 25 // Do any additional setup after loading the view. 26 func prepareForSegue(segue: UIStoryboardSegue, sender:AnyObject?){ 27 var aD: AppDelegate = UIApplication.shared.delegate as! 28 AppDelegate 29 30 aD.score += score1 31 } 32 } 33
この画面で正解のボタンに,変数に対して1を加え,それを10個のViewControllerで繰り返して
swift
1コードimport UIKit 2 3class ResultViewController: UIViewController { 4 @IBOutlet var scoreLavel: UILabel! 5 @IBOutlet var massageLavel:UILabel! 6 7 8 override func viewDidLoad() { 9 super.viewDidLoad() 10 11 // Do any additional setup after loading the view. 12 let aD:AppDelegate = UIApplication.shared.delegate as! AppDelegate 13 var scores:Int = aD.score * 10000000 14 scoreLavel.text = "(scores)だ!!" 15 16 if scores < 10000000{ 17 massageLavel.text = "あなたは道化のバギーレベルです" 18 }else if scores < 50000000{ 19 massageLavel.text = "あなたはナミです" 20 }else if scores < 100000000{ 21 massageLavel.text = "あなたはルフィーレベルです" 22 } 23 aD.score = 0; 24 aD.records.append(aD.score as AnyObject) 25 26 } 27 28 29 /* 30 // MARK: - Navigation 31 32 // In a storyboard-based application, you will often want to do a little preparation before navigation 33 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 34 // Get the new view controller using segue.destination. 35 // Pass the selected object to the new view controller. 36 } 37 */ 38 39} 40
この画面で,合計得点と,得点の過多によってラベルの表記を変えるようにしたいのですが.どのようにしたらいいのでしょうか?
> 上記のシステムを本を読んだりして,作ってみたのですが,エラーなどは出ないのですが,どの回答を選択しても,合計点が0になってしまいます.
どのような本を参考にして作られたのでしょうか。私の手元にない可能性もありますが、参考にされた書籍を例示された方がいいかもしれません。
また、関数の書き方や UIApplication.shared.delegate が出てくるあたりが一般的でなく感じるのですが、これもどこかに記載されていた方法でしょうか。
また、コードについてはスクリーンショットではなく、このコメントでなくコメント本文に追記していだければと思います。
コードを貼り付けた後、そのコードをドラッグして、質問画面の<CODE>ボタンを押すことで、整形されたコードを表示することが可能ですので、ぜひご協力ください。
・「合計点が0になってしまいます」というのは、どこでどうやって確認しましたか?
・TsukubaDepotさんも書かれていますが、コードはテキストで書いて下さい。
スイフトについてあまりわかりませんがブレークポイントを張ってどの場所で点数がゼロになっているのか調べたほうがいいかと思います
回答2件
あなたの回答
tips
プレビュー