小编Cod*_*J13的帖子

在特定时间Swift每天调用一次函数

我有一个tableview,我想在每天的特定时间(用户输入一个选择器)清空它.以下是它主要使用的代码,但是让我们说用户在晚上7点打开应用程序,更新时间是晚上8点,数据不会被删除(这是正确的)但是当时间是在同一天晚上9点并且应用程序打开数据不会被删除(这是不正确的).我认为这与lastRefreshDate应用程序打开时更新的evreytime时间有关,必须等待24小时lastRefreshDate而不是等待userPickedHour.该应用程序应该像这样工作有一个设定的时间晚上7点.因此,应用程序应该在第二天晚上7点或晚上7点后删除数据,当用户打开应用程序时,如果用户在第二天晚上7点之前打开应用程序,则不应删除数据,

这是代码:

class RefreshManager: NSObject {

static let shared = RefreshManager()
private let defaults = UserDefaults.standard
private let defaultsKey = "lastRefresh"
private let calender = Calendar.current



func loadDataIfNeeded(completion: (Bool) -> Void) {

    if isRefreshRequired() {
        // load the data
        defaults.set(Date(), forKey: defaultsKey)
        print("xxxxxx")
        completion(true)
    } else {
        print("yyyyyy")
        completion(false)
    }
}

private func isRefreshRequired(userPickedHour: Int = 16) -> Bool {
    let SleepPickerdate = UserDefaults.standard.object(forKey: "SleepDate") as? Date
    let userPickedHour = Calendar.current.component(.hour, from: (SleepPickerdate)!)
    print(userPickedHour) …
Run Code Online (Sandbox Code Playgroud)

timer uitableview delete-row ios swift

-1
推荐指数
1
解决办法
1065
查看次数

标签 统计

delete-row ×1

ios ×1

swift ×1

timer ×1

uitableview ×1