gpt4 book ai didi

ios - 滚动时小部件数据不更新 - Swift

转载 作者:行者123 更新时间:2023-11-28 06:54:47 24 4
gpt4 key购买 nike

我有一个带有数据的小部件。当我今天启动扩展程序时,我的小部件数据正在实时更新和显示。但是当我滚动通知中心并返回到我的小部件时,它不会更新。我尝试了几种不同的方法,但它们对我没有帮助。我在下面写下了我尝试过的最后一种方法。

     override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "updateLabels", userInfo: nil, repeats: true)
}


func widgetPerformUpdateWithCompletionHandler(completionHandler: ((NCUpdateResult) -> Void)) {
// Perform any setup necessary in order to update the view.

// If an error is encountered, use NCUpdateResult.Failed
// If there's no update required, use NCUpdateResult.NoData
// If there's an update, use NCUpdateResult.NewData
completionHandler(.NewData)
}


func updateLabels() {
runtimeLabel.text = returnTime() + " " + returnDay()
}

func returnTimeInterval() -> NSTimeInterval {
let uptime = NSProcessInfo().systemUptime
return uptime
}

func returnTime() -> String {
dateFormatter.unitsStyle = .Short
dateFormatter.allowedUnits = [.Day, .Hour, .Minute, .Second]
dateFormatter.zeroFormattingBehavior = .Pad
let time = dateFormatter.stringFromTimeInterval(returnTimeInterval())!
return time
}

func returnDay() -> String {
dateFormatter.unitsStyle = .Short
dateFormatter.allowedUnits = [.Year, .Month, .Day]
dateFormatter.zeroFormattingBehavior = .Pad
let date = NSDate(timeInterval: -returnTimeInterval(), sinceDate: NSDate())
let formatter = NSDateFormatter()
formatter.locale = NSLocale.currentLocale()
formatter.dateStyle = .MediumStyle
let megaDate = formatter.stringFromDate(date)
return megaDate
}

最佳答案

我尝试了同样的方法,它与下面的代码一起工作:

@IBOutlet weak var infoLabel: UILabel!
var timer = NSTimer()
var counter = 0

override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)

timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("updateLabel"), userInfo: nil, repeats: true)
}

func updateLabel(){
counter += 1
myLabel.text = "Test \(counter)"
}

更新:

viewWillAppearviewDidAppear 应在小部件处于事件状态后调用,viewDidDisappear 应在滚动(离开小部件)时调用。至于现在 viewDidDisappear 正在按预期工作,但不是 viewWillAppearviewDidAppear 滚动。

这是一个无法正常工作的已知错误,您可以在此 post 中阅读更多信息在 Apples 论坛并检查错误状态报告 here .

关于ios - 滚动时小部件数据不更新 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33970826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com