xcode9.2で学習アプリを作っています。
テスト問題を解いてokbtnを押した時に、得た合計のポイントに応じてボタンを押した回数がカウントアップされるようにしたいです。
var ooo1 = 0
var ooo2 = 0
var ooo3 = 0
例えば、
合計ポイントが50〜100ならooo1 = 1,ooo2 = 0,ooo3 = 0
合計ポイントが100〜150ならooo1 = 0,ooo2 = 1,ooo3 = 0
合計ポイントが150〜200ならooo1 = 0,ooo2 = 0,ooo3 = 1
というようにカウントアップするものを変えて、それをuserdefaultsで保存したいのですがうまくいきません。
@IBAction func okbtn(_ sender: AnyObject){ if(goukei>=50)&&(goukei<100) { ooo1 += 1 }else if (goukei>=100)&&(goukei<150) { ooo2 += 1 }else if ......{ ...... } NSLog("11==(ooo1)==") NSLog("22==(ooo2)==")
とした場合、goukei = 60の時『ooo1 = 1,ooo2 = 0』となるのですが、これにuserdefaultsを用いて
@IBAction func okbtn(_ sender: AnyObject){ if(goukei>=50)&&(goukei<100) { let ooo1 = UserDefaults.standard.integer(forKey: "ggg") ooo1 += 1 UserDefaults.standard.set(ooo1, forKey: "ggg") }else if (goukei>=100)&&(goukei<150) { let ooo2 = UserDefaults.standard.integer(forKey: "ggg") ooo2 += 1 UserDefaults.standard.set(ooo2, forKey: "ggg") }else if ......{ ...... } let ooo1 = UserDefaults.standard.integer(forKey: "ggg") let ooo2 = UserDefaults.standard.integer(forKey: "ggg") NSLog("11==(ooo1)==") NSLog("22==(ooo2)==")
とした場合、goukei = 60の時『ooo1 = 1,ooo2 = 1』と、どちらもカウントアップされてしまいます。
色々試したのですが上手くいかず、改善方法を教えていただきたいです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/12/13 07:58
2017/12/13 08:30