###実現したいこと
swiftで、stopボタンを押した時にループ処理から抜けたい
次のような処理を考えました。
・startボタン押す
・stopボタンが押されるまで、startボタンの処理をループする
###発生している問題
startボタンを押した後、stopボタンが押せない
xcodeのsimulatorで実行したところ、startボタンを押した後に上手くループ処理が始まり1秒ごとに「こんにちは」が表示されました。ですがstopボタンを押そうとしたところ、startボタンが押された状態のままで他の操作を受け付けません。無限ループになっているのが原因かと思っているのですが、どのように回避すれば良いでしょうか。
swift
1 // ループ判定用 2 var startStop = true 3 4 //Startボタン 5 @IBAction func clickStart(sender: AnyObject) { 6 while startStop == true{ 7 print("こんにちは") 8 usleep(1000000); //1秒スリープ 9 } 10 } 11 12 //Stopボタン 13 @IBAction func clickStop(sender: AnyObject) { 14 //ストップ 15 startStop = false 16 }
###補足情報
ストップウォッチの処理が参考になるかと思い調べてみたのですが、タイマーの処理はinvalidate()を使うのが定番らしく上手く流用出来ませんでした。よろしくお願いします。
Swiftでストップウォッチにトライ!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/15 16:56