我尝试每隔x秒更新一次今天的widget扩展的内容,因为我尝试实现了类似diashow的功能。因此,我已使用共享默认值存储了所有必需的数据。从存储中加载数据可以完美地完成工作,但是扩展的completionHandler:

    func widgetPerformUpdateWithCompletionHandler(completionHandler: ((NCUpdateResult) -> Void)!) {
        //I do load the content here
        completionHandler(NCUpdateResult.NewData)
    }

仅被调用一次。我如何实现一个表示“每x秒可用一次”的newData的函数?

最佳答案

一种方法是NSTimer。这对于每x秒调用一次方法很有用。

var timer : NSTimer?

override func viewDidLoad() {
    super.viewDidLoad()

    timer = NSTimer.scheduledTimerWithTimeInterval(3, target: self, selector: "animateFrame:", userInfo: nil, repeats: true)
}

func animateFrame(timer: NSTimer) {
    // Do something
}

在这种情况下,您可以每3秒调用一次animateFrame :。

关于ios - 如何每隔X秒快速更新今日小部件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32296509/

10-09 07:33