2016-08-06 18 views
1
迅速

に任意の値をアンラップしながら、私は次のエラーを取得しています。致命的なエラー

欠けているものがあります。これらは、関連する2つの変数です:

Label and Double variable

そして、これは私がエラーを取得するように見えるfuncです:

Method to update label

限り、私は私がしたい変数を見ることができるように19.875531899929の値を持っていると私はラベルがそのInt一部を表示したいとのラベルを更新します。無名はどこから来ますか?私はバグを見つけ出している。

することができます私はがそれを行うには何も持ってAppDelegate.swiftのapplicationDidBecomeActive方法でのViewControllerインスタンスからメソッドを呼び出したということ? AppDelegate.swift

func applicationDidBecomeActive(application: UIApplication) {   

    viewControllerInstance.convertAlertTimeToCountdownFromMinutes() 

} 

そして、変数::これは、メソッドを呼び出すための短いコードである

var viewControllerInstance = ViewController() 

答えて

2

あなたUILabelオブジェクトがnilである、あなたはviewController 'であなたのIBOutletを接続するために忘れてしまいましたsラベルのIBOutletととlblMinuteslblMinutesTagという名前で接続してみてください。

新規編集

あなたのアプリは、あなたのviewController内のコードの下に追加し、そのためにNSNotificationCenterを使用することができ、アクティブになったときにラベルの値を更新する場合。

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) 
} 
+0

私はわかりません。私はCtrlキーを押しながら両方のラベルを** ViewController.swift **にドラッグしました。私は** ** AppDelegate.swiftの 'applicationDidBecomeActive'方法でのViewControllerインスタンスからメソッドを呼び出したという事実は、それを行うには何を持っていることはできますか? – Niklas

+0

** AppDelegate.swift **からこの 'updateLblMinutes()'メソッドを呼び出していますか? 'applicationDidBecomeActive'メソッドの中に記述したコードを表示できますか?確かに –

+0

。それはあまりないですが。applicationDidBecomeActive FUNC (アプリケーション:のUIApplication){ \t \t \t \t viewControllerInstance.convertAlertTimeToCountdownFromMinutes() } – Niklas