簡體   English   中英

Swift - 如何只在星期一顯示視圖並且只顯示一次

[英]Swift - How to only show view on a Monday and only show it once

我正在嘗試在我的 iOS 健身應用程序中實現每周綜述功能。 我想每周一顯示每周匯總視圖,並且只向用戶顯示一次,因此每次啟動應用程序時都不會顯示它們。 我試過檢查它是否是一個工作正常的星期一,但找不到只顯示一次的方法。

一種可能的解決方案是存儲您上次向用戶顯示每周摘要的時間,可能存儲在像 UserDefaults 這樣的地方。 要顯示它,您可以確保您已經構建了星期一檢查,並且日期范圍已經過了足夠的時間。

    let isMonday = true
    var readyToShow = true
    if let date = UserDefaults.standard.object(forKey: "lastShownRoundup") as? Date, date < Date().addingTimeInterval(86400 * -6) {
        readyToShow = false
    }

    if isMonday && readyToShow {
        //show your roundup
        UserDefaults.standard.set(Date(), forKey: "lastShownRoundup")
    }

時間間隔代碼確保距離他們最后一次看到它已經過去了至少 6 天,這應該說明在一個星期一的晚上觀看,但在下一個星期一的早上觀看。 您也可以將此數字設置為 -1,它應該可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM