Swift 4:TimeIntervalは毎回乱数に設定されます

マットワード

私は、iPhoneにあるデフォルトの時計アプリを複製して、より迅速に学習し、iOS開発のさまざまな部分に慣れようとしています。

私は現在、アプリのタイマーセクションに取り組んでいます。日付を取得するDatePickerがあり、タイマーの開始時にcountdownDurationプロパティをTimeIntervalに割り当てています。ただし、これにより毎回ランダムな値が得られます(常に約80.0〜120.0のようです)

TimeIntervalsの概念が間違っている可能性があることは完全に理解していますが、オンラインおよび開発者向けドキュメントで読んだことから、概念は正しいですか?

タイマーの実行に使用しているコードは次のとおりです。

@IBOutlet weak var datePicker:UIDatePicker!

var IsTimerRunning:Bool = false;
var TimerDuration:TimeInterval = 0;

var timer:Timer?;

//Called every second when timer is running
@objc func onTimerFires() {
    TimerDuration = TimerDuration - 1.0;
    print (TimerDuration);
    if (TimerDuration <= 0.0) {
        EndTimer();
    }
}

func EndTimer() {
    timer?.invalidate();
    IsTimerRunning = false;
}

//Start button pressed
@IBAction func StartButtonPressed() {
    if (IsTimerRunning == false) {
        TimerDuration = datePicker.countDownDuration;

        timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(onTimerFires), userInfo: nil, repeats: true)

        IsTimerRunning = true;
    }
}
ロブ

いくつかの考慮事項:

  1. 日付ピッカーにcountDownTimerのモードがあることを確認してください。ドキュメントは言います:

    日付ピッカーのモードがでない場合UIDatePicker.Mode.countDownTimer、この値[ countDownDuration]は未定義です。

  2. これをIBに追加した場合は、「date」プロパティを「Custom」に設定することをお勧めします。ドキュメントが警告しているように:

    注意

    Interface Builderを使用してMode属性をCountDown Timerに設定し、timer属性の値を指定すると、プロジェクトをビルドして実行するときに、日付ピッカーがTimer属性の値を尊重しない場合があります。これが発生した場合は、日付ピッカーの属性インスペクターに戻り、「日付」ポップアップメニューで「カスタム」を選択し(関連する値は無視できます)、プロジェクトを再構築します。

    countDownDurationIBの「日付」ポップアップメニューで「カスタム」を選択するまで、非常に奇妙なに気づきました

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Swift 4でTimeIntervalをCMTimeに変換する方法は?

分類Dev

Swift4スケジュールされたタイマーの現在のtimeIntervalを取得します

分類Dev

SWIFT:UITableViewCellは、そのプロパティがUITableViewで設定される前に初期化されます

分類Dev

Swift-まだ設定されていない場合はUserDefaultを設定します

分類Dev

アプリがロードされる前に、Swift は UITableView を設定します

分類Dev

Swift-UITableViewAutomaticDimensionが設定されているときにセルサイズを強制的に設定します

分類Dev

SWIFTで計算されたプロパティに値を設定します

分類Dev

Swiftの `struct`に「計算された定数」を設定できますか?

分類Dev

Swift-セグエ後に設定されたViewControllerを保存します

分類Dev

ビルド設定は、Swiftを使用するターゲットでサポートされている値に設定する必要があります

分類Dev

yは一定値に設定されていますが、Y位置が異なっているように見えます(Swift Sprite)

分類Dev

Swift iOS -DispatchWorkItemは、キャンセルされてNilに設定されていても、引き続き実行されています

分類Dev

Swiftの「CropRect」に固定の幅と高さを設定します

分類Dev

プライベートに設定されたグローバル変数は、swift でどのように理解されますか?

分類Dev

Swift Completion Handler For Loopは、ループのために10回ではなく1回実行されます

分類Dev

Swiftは怠惰でdidSetを一緒に設定できます

分類Dev

SwiftでUITableViewの高さを動的に設定するにはどうすればよいですか?

分類Dev

Swiftのクラスと構造がそのまま設定されているのはなぜですか?

分類Dev

UILabelテキストプロパティをnilまたは ""に設定すると、UILabelが表示されなくなります(Swift / Autolayout / iOS9.1)

分類Dev

iOS Swift:行の削除後にUITableViewCell編集がtrueに設定されました

分類Dev

iOS swift 4は、デフォルトのブール値を複雑な静的変数に設定しますか?

分類Dev

Swiftのビュー/レイヤーの境界とフレームはいつ設定されますか?

分類Dev

Swiftのgetブロックに計算されたプロパティを設定できますか?

分類Dev

iOS-tableViewのnumberOfSectionsをフィルター処理されたセルの数に設定します(Swift)

分類Dev

scrollToItemが設定された後、UICollectionViewが手動スクロールにジャンプします(Swift)

分類Dev

前の乱数を繰り返さずにSwiftで乱数を生成するにはどうすればよいですか?

分類Dev

Swift3 iOSは、改行が発生したときにUITextViewの高さを設定します

分類Dev

Swift iOS -NavigationBar hidesBarsOnSwipeは、ステータスバーの下のCollectionViewフレームを設定するときに再表示されません

分類Dev

MPVolumeViewをswiftで設定するにはどうすればよいですか?

Related 関連記事

  1. 1

    Swift 4でTimeIntervalをCMTimeに変換する方法は?

  2. 2

    Swift4スケジュールされたタイマーの現在のtimeIntervalを取得します

  3. 3

    SWIFT:UITableViewCellは、そのプロパティがUITableViewで設定される前に初期化されます

  4. 4

    Swift-まだ設定されていない場合はUserDefaultを設定します

  5. 5

    アプリがロードされる前に、Swift は UITableView を設定します

  6. 6

    Swift-UITableViewAutomaticDimensionが設定されているときにセルサイズを強制的に設定します

  7. 7

    SWIFTで計算されたプロパティに値を設定します

  8. 8

    Swiftの `struct`に「計算された定数」を設定できますか?

  9. 9

    Swift-セグエ後に設定されたViewControllerを保存します

  10. 10

    ビルド設定は、Swiftを使用するターゲットでサポートされている値に設定する必要があります

  11. 11

    yは一定値に設定されていますが、Y位置が異なっているように見えます(Swift Sprite)

  12. 12

    Swift iOS -DispatchWorkItemは、キャンセルされてNilに設定されていても、引き続き実行されています

  13. 13

    Swiftの「CropRect」に固定の幅と高さを設定します

  14. 14

    プライベートに設定されたグローバル変数は、swift でどのように理解されますか?

  15. 15

    Swift Completion Handler For Loopは、ループのために10回ではなく1回実行されます

  16. 16

    Swiftは怠惰でdidSetを一緒に設定できます

  17. 17

    SwiftでUITableViewの高さを動的に設定するにはどうすればよいですか?

  18. 18

    Swiftのクラスと構造がそのまま設定されているのはなぜですか?

  19. 19

    UILabelテキストプロパティをnilまたは ""に設定すると、UILabelが表示されなくなります(Swift / Autolayout / iOS9.1)

  20. 20

    iOS Swift:行の削除後にUITableViewCell編集がtrueに設定されました

  21. 21

    iOS swift 4は、デフォルトのブール値を複雑な静的変数に設定しますか?

  22. 22

    Swiftのビュー/レイヤーの境界とフレームはいつ設定されますか?

  23. 23

    Swiftのgetブロックに計算されたプロパティを設定できますか?

  24. 24

    iOS-tableViewのnumberOfSectionsをフィルター処理されたセルの数に設定します(Swift)

  25. 25

    scrollToItemが設定された後、UICollectionViewが手動スクロールにジャンプします(Swift)

  26. 26

    前の乱数を繰り返さずにSwiftで乱数を生成するにはどうすればよいですか?

  27. 27

    Swift3 iOSは、改行が発生したときにUITextViewの高さを設定します

  28. 28

    Swift iOS -NavigationBar hidesBarsOnSwipeは、ステータスバーの下のCollectionViewフレームを設定するときに再表示されません

  29. 29

    MPVolumeViewをswiftで設定するにはどうすればよいですか?

ホットタグ

アーカイブ