无法将类型为"NSDate"的值分配给"String?"类型的值

MrG*_*797 5 string nsdate ios swift

我正在快速教自己,我仍然很新,但我决定制作一个简单的应用程序,按下按钮打印当前时间.viewcontroller文件中的代码如下:

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    @IBOutlet weak var LblTime: UILabel!
    @IBAction func BtnCalltime(sender: AnyObject) {
            var time = NSDate()
            var formatter = NSDateFormatter()
            formatter.dateFormat = "dd-MM"
            var formatteddate = formatter.stringFromDate(time)
            LblTime.text = time
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}
Run Code Online (Sandbox Code Playgroud)

我遇到了问题:

LblTime.text = time
Run Code Online (Sandbox Code Playgroud)

我一直收到错误:

无法将类型为"NSDate"的值分配给"String?"类型的值

我尝试过使用:

lblTime.text = time as! string?
Run Code Online (Sandbox Code Playgroud)

和:

lblTime.text = time as! string
Run Code Online (Sandbox Code Playgroud)

但它仍然不起作用,我会非常感谢一些帮助.谢谢

Tom*_*art 7

您需要使用formatter中的值.

@IBAction func BtnCalltime(sender: AnyObject) {
    var time = NSDate()
    var formatter = NSDateFormatter()
    formatter.dateFormat = "dd-MM"
    var formatteddate = formatter.stringFromDate(time)
    LblTime.text = formatteddate
}
Run Code Online (Sandbox Code Playgroud)