无法将 'NSDate' 类型的值分配给 'String?' 类型的值
Cannot assign a value of type 'NSDate' to a value of type 'String?'
我正在自学 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()
}
}
我的线路有问题:
LblTime.text = time
我一直收到错误消息:
Cannot assign a value of type 'NSDate' to a value of type 'String?'
我试过使用:
lblTime.text = time as! string?
并且:
lblTime.text = time as! string
但它仍然不起作用,如果您能提供一些帮助,我将不胜感激。
谢谢
您需要使用来自格式化程序的值。
@IBAction func BtnCalltime(sender: AnyObject) {
var time = NSDate()
var formatter = NSDateFormatter()
formatter.dateFormat = "dd-MM"
var formatteddate = formatter.stringFromDate(time)
LblTime.text = formatteddate
}
您已经从 NSDate 创建了字符串,只是没有使用它。
lblTime.text = formatteddate
Date 现在优于 NSDate。它是一个叠加 class 意味着两者都可以工作,但是 Date 有很多优点, 其中一些。
下面是如何使用 Date 而不是 NSDate 将日期格式化为字符串。
var time = Date()
var formatter = DateFormatter()
formatter.dateFormat = "MMM d yyyy, h:mm:ss a"
let formattedDateInString = formatter.string(from: time)
dateLabel.text = formattedDateInString
一个获取格式化程序字符串的好网站是 http://nsdateformatter.com/
我不知道 "MMM d yyyy, h:mm:ss a"
会等于 Mar 1, 7:02:35 AM
,但该网站使它变得简单。
我正在自学 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()
}
}
我的线路有问题:
LblTime.text = time
我一直收到错误消息:
Cannot assign a value of type 'NSDate' to a value of type 'String?'
我试过使用:
lblTime.text = time as! string?
并且:
lblTime.text = time as! string
但它仍然不起作用,如果您能提供一些帮助,我将不胜感激。 谢谢
您需要使用来自格式化程序的值。
@IBAction func BtnCalltime(sender: AnyObject) {
var time = NSDate()
var formatter = NSDateFormatter()
formatter.dateFormat = "dd-MM"
var formatteddate = formatter.stringFromDate(time)
LblTime.text = formatteddate
}
您已经从 NSDate 创建了字符串,只是没有使用它。
lblTime.text = formatteddate
Date 现在优于 NSDate。它是一个叠加 class 意味着两者都可以工作,但是 Date 有很多优点,
下面是如何使用 Date 而不是 NSDate 将日期格式化为字符串。
var time = Date()
var formatter = DateFormatter()
formatter.dateFormat = "MMM d yyyy, h:mm:ss a"
let formattedDateInString = formatter.string(from: time)
dateLabel.text = formattedDateInString
一个获取格式化程序字符串的好网站是 http://nsdateformatter.com/
我不知道 "MMM d yyyy, h:mm:ss a"
会等于 Mar 1, 7:02:35 AM
,但该网站使它变得简单。