大佬教程收集整理的这篇文章主要介绍了swift iOS-如何从AppDelegate在ViewController中运行功能,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
VIEwController().grabData()
将创建VIEwController的新实例并调用此函数。然后,由于不使用视图控制器,它将被垃圾回收/从内存中删除。您需要在使用中的实际视图控制器上调用此方法。不是它的新实例。
最好的选择是监听UIApplicationDIDBecomeActive
iOS提供的通知。
NotificationCenter.default.addobserver(
self,
SELEctor: #SELEctor(grabData),
name: Nsnotification.name.UIApplicationDIDBecomeActive,
object: nil)
确保您也删除了观察者,这通常是通过一种deinit
方法完成的
deinit() {
NotificationCenter.default.removeObserver(self)
}
我正在尝试ViewController
使用某些功能AppDelegate
func applicationDidBecomeActive(_ application: UIApplication) {
ViewController().grabData()
}
但是从后台进入应用程序后,当该应用程序处于活动状态时,该功能似乎根本无法运行。
函数看起来像这样
func grabData() {
self._DATAserviCE_GET_STATS(completion: { (int) -> () in
if int == 0 {
print("Nothing")
} else {
print(int)
for (_,data) in self.userDataArray.enumerated() {
let number = Double(data["wage"]!)
let x = number!/3600
let z = Double(x * Double(int))
self.money += z
let y = Double(round(1000*self.money)/1000)
self.checkInButtonLabel.text = "\(y) KR"
}
self.startCounTing()
self.workingStatus = 1
}
})
}
并使用这个变量
var money: Double = 0.000
我错过了什么?
谢谢!
以上是大佬教程为你收集整理的swift iOS-如何从AppDelegate在ViewController中运行功能全部内容,希望文章能够帮你解决swift iOS-如何从AppDelegate在ViewController中运行功能所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。