Ios 每周更新swift文本标签

Ios 每周更新swift文本标签,ios,swift,Ios,Swift,我是斯威夫特的初学者 在homeviewController中,我声明了一个标签 @IBOutlet weak var text: UILabel! 如何从安装应用程序之日起每周将此数字从0更新1?首先,将启动日期存储在应用程序首次启动时的某个位置,例如NSUserDefaults:NSUserDefaults.standardUserDefaults().setObject(NSDate(),forKey:“installDate”)。然后,当您需要显示标签时,只需查找当前时间与存储

我是斯威夫特的初学者

在homeviewController中,我声明了一个标签

    @IBOutlet weak var text: UILabel!

如何从安装应用程序之日起每周将此数字从0更新1?

首先,将启动日期存储在应用程序首次启动时的某个位置,例如NSUserDefaults:
NSUserDefaults.standardUserDefaults().setObject(NSDate(),forKey:“installDate”)
。然后,当您需要显示标签时,只需查找当前时间与存储时间之间的周差:

let installDate = NSUserDefaults.standardUserDefaults().objectForKey("installDate") as NSDate!
let today = NSDate()
let calendar = NSCalendar.currentCalendar()
let unitFlags = NSCalendarUnit.WeekOfYear
let dateComponents = calendar.components(unitFlags, fromDate:installDate,  toDate:today, options: NSCalendarOptions.MatchNextTime)
let weeks = dateComponents.weekOfYear

首先,将启动日期存储在应用程序首次启动时的某个位置,例如NSUserDefaults:
NSUserDefaults.standardUserDefaults().setObject(NSDate(),forKey:“installDate”)
。然后,当您需要显示标签时,只需查找当前时间与存储时间之间的周差:

let installDate = NSUserDefaults.standardUserDefaults().objectForKey("installDate") as NSDate!
let today = NSDate()
let calendar = NSCalendar.currentCalendar()
let unitFlags = NSCalendarUnit.WeekOfYear
let dateComponents = calendar.components(unitFlags, fromDate:installDate,  toDate:today, options: NSCalendarOptions.MatchNextTime)
let weeks = dateComponents.weekOfYear

使用
NSUserDefaults
跟踪更新
文本的日期

NSUserDefaults.standardUserDefaults().setObject(NSDate(), forKey: "lastUpdate")
然后在方法
中应更新标签

func shouldUpdateLabel() {
    let lastUpdatedSetting = NSUserDefaults.standardUserDefaults().objectForKey("lastUpdate") as? NSDate

    var shouldUpdate = true
    if let lastUpdated = lastUpdatedSetting where NSDate().timeIntervalSinceDate(lastUpdated) < 7 * 24 * 60 * 60 {
            shouldUpdate = false
    }

    if shouldUpdate {
       text.text = "someTextYouWant"
       //Update your label here
       NSUserDefaults.standardUserDefaults().setObject(NSDate(), forKey: "lastUpdate")
      //Record the date you update your label
    }else {
        return
    }

}
func shouldUpdateLabel(){
将lastUpdatedSetting=NSUserDefaults.standardUserDefaults().objectForKey(“lastUpdate”)设为?NSDate
var shouldUpdate=true
如果让lastUpdated=lastUpdatedSetting,其中NSDate().timeIntervalSinceDate(lastUpdated)<7*24*60*60{
shouldUpdate=false
}
如果应该更新{
text.text=“someTextYouWant”
//在此更新您的标签
NSUserDefaults.standardUserDefaults().setObject(NSDate(),forKey:“lastUpdate”)
//记录更新标签的日期
}否则{
返回
}
}

使用
NSUserDefaults
跟踪更新
文本的日期

NSUserDefaults.standardUserDefaults().setObject(NSDate(), forKey: "lastUpdate")
然后在方法
中应更新标签

func shouldUpdateLabel() {
    let lastUpdatedSetting = NSUserDefaults.standardUserDefaults().objectForKey("lastUpdate") as? NSDate

    var shouldUpdate = true
    if let lastUpdated = lastUpdatedSetting where NSDate().timeIntervalSinceDate(lastUpdated) < 7 * 24 * 60 * 60 {
            shouldUpdate = false
    }

    if shouldUpdate {
       text.text = "someTextYouWant"
       //Update your label here
       NSUserDefaults.standardUserDefaults().setObject(NSDate(), forKey: "lastUpdate")
      //Record the date you update your label
    }else {
        return
    }

}
func shouldUpdateLabel(){
将lastUpdatedSetting=NSUserDefaults.standardUserDefaults().objectForKey(“lastUpdate”)设为?NSDate
var shouldUpdate=true
如果让lastUpdated=lastUpdatedSetting,其中NSDate().timeIntervalSinceDate(lastUpdated)<7*24*60*60{
shouldUpdate=false
}
如果应该更新{
text.text=“someTextYouWant”
//在此更新您的标签
NSUserDefaults.standardUserDefaults().setObject(NSDate(),forKey:“lastUpdate”)
//记录更新标签的日期
}否则{
返回
}
}

如果我想每周增加1而不是计算差值,那还可能吗?那么你必须每周运行代码,以更新标签。用户必须每周至少打开一次你的应用程序才能更新。如果我想每周添加1而不是计算差异,那还可能吗?你必须每周运行代码才能更新标签。用户必须每周至少打开一次你的应用才能更新。我刚找到一篇文章告诉你如何在后台运行代码我刚找到一篇文章告诉你如何在后台运行代码