2016-08-29 5 views
0
import UIKit 

class ViewController: UIViewController { 

let time = NSDate(); 

@IBOutlet weak var DateLabel: UILabel! 

func changeToActualDate() -> String { 
    NSDateFormatter().dateFormat = "dd-MM"; 
    var formatteddate = NSDateFormatter().stringFromDate(time); 
    DateLabel.text = formatteddate; 
} 

changeToActualDate(); 
} 

Ich versuche, das Datum zu bekommen, und ich möchte es in einem Etikett (iOS-Anwendung) verwenden. Jedes Mal, wenn ich versuche, die Funktion ‚changeToActualDate();‘ zu verwenden, erhalte ich die folgenden Fehler:Erwartete Deklaration Fehler in Swift

Expected declaration

Es ist wahrscheinlich eine dumme, Anfänger Frage. Aber was mache ich falsch?

+0

@EricAya ist richtig. – Chenglu

+1

Es ist nicht "dumm", aber es wurde bereits viele Male auf Stack Overflow gestellt und beantwortet. Bitte zuerst suchen, bevor Sie fragen. Sparen Sie Zeit und Bandbreite. – matt

Antwort

4

Rufen Sie einfach Ihre Funktion in viewWillAppear(animated:Bool)() oder viewDidLoad()

import UIKit 

class ViewController: UIViewController { 

let time = NSDate(); 

@IBOutlet weak var DateLabel: UILabel! 

override func viewWillAppear(animated:Bool)(){ 

     super.viewWillAppear(animated:Bool) 
     changeToActualDate() 
    } 

func changeToActualDate() -> String { 
    NSDateFormatter().dateFormat = "dd-MM"; 
    var formatteddate = NSDateFormatter().stringFromDate(time); 
    DateLabel.text = formatteddate; 
    } 
} 
+0

Danke! Das hilft sehr. – PeterPan

+0

Macht es einen Unterschied, ob ich diese Zeile in viewWillAppear oder viewDidLoad lege? – PeterPan

+1

In diesem Fall wird es keinen Unterschied geben, aber im Allgemeinen wird es. Sie sollten über den Lebenszyklus des View-Controllers und über den Aufruf der verschiedenen Methoden lesen. – EmilioPelaez

Verwandte Themen