在swift中展开可选值时出现致命错误
当我尝试在swift中更新标签时,出现以下错误 致命错误:在展开可选值时意外发现nil 一定有什么我遗漏了。这是涉及的两个变量: 这是在swift中展开可选值时出现致命错误,swift,Swift,当我尝试在swift中更新标签时,出现以下错误 致命错误:在展开可选值时意外发现nil 一定有什么我遗漏了。这是涉及的两个变量: 这是func,我似乎得到了错误: 就我所能看到的而言,我要更新标签的变量的值为19.875531899929,我希望标签显示该变量的Int部分。零是从哪里来的?我被困在找虫子的路上了 我在AppDelegate.swift的applicationIDbecomeactive方法中从ViewController实例调用了该方法,这与此有关吗?以下是调用该方法的简短代
func
,我似乎得到了错误:
就我所能看到的而言,我要更新标签的变量的值为19.875531899929
,我希望标签显示该变量的Int
部分。零是从哪里来的?我被困在找虫子的路上了
我在AppDelegate.swift的applicationIDbecomeactive
方法中从ViewController实例调用了该方法,这与此有关吗?以下是调用该方法的简短代码:
func applicationDidBecomeActive(application: UIApplication) {
viewControllerInstance.convertAlertTimeToCountdownFromMinutes()
}
和AppDelegate.swift中的变量:
var viewControllerInstance = ViewController()
您的
UILabel
对象为零,您忘记将IBOutlet
连接到您的viewController
标签,尝试将IBOutlet
连接到名为UILabel
的lblMinutes和lblMinutesTag
新编辑
如果要在应用程序激活时更新标签的值,可以使用NSNotificationCenter
进行更新,请在viewController
中添加以下代码
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: "applicationBecameActive:",
name: UIApplicationDidBecomeActiveNotification,object: nil)
}
func applicationBecameActive(notification: NSNotification){
self.convertAlertTimeToCountdownFromMinutes()
}
deinit{
NSNotificationCenter.defaultCenter().removeObserver(self)
}
我不确定。我已按Ctrl键将两个标签拖动到ViewController.swift。我在AppDelegate.swift的
applicationdibecomeactive
方法中从ViewController实例调用该方法与此有关系吗?您正在从AppDelegate.swift调用此updatelMinutes()
方法?您是否可以显示您在applicationIDBecomeActive
方法中编写的代码。当然可以。它不是很多,但是:func applicationIDBecMeactive(application:UIApplication){viewControllerInstance.convertAlertTimeToCountdownFromMinutes()}Hmm。。。在保存过程中丢失了所有格式,我找不到如何在注释中添加图像。好的,我已经编辑了这个问题。我不确定是我写的,还是你会自动得到某种更新。