J'ai un problème avec NSDate dans une fonction. Essentiellement, le formatage ne fonctionne pas et j'ai besoin d'un autre regard pour voir ce que je fais de travers.
Code:
@IBOutlet weak var dateField: NSTextField!
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMMM dd yyyy"
let currentDate = NSDate()
convertedDateString = dateFormatter.string(from:currentDate as Date)
dateField.stringValue = convertedDateString as String
print("convertedDate: ", convertedDateString)
print("dateField.stringValue: ", dateField.stringValue)
Résultat:
convertiDate: 25 juillet 2016
dateField.stringValue: 25/07/16
Date().toString() // convert date to string with userdefined format.
extension Date {
func toString() -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMMM dd yyyy"
return dateFormatter.string(from: self)
}
}
Extension pour obtenir une chaîne par rapport aux formats de date
extension Date {
func toString(format: String) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
return dateFormatter.string(from: self)
}
}
Date().toString(format:"H:mm")
C'est ce que j'essaye sur le terrain de jeu et cela fonctionne.
import Foundation
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MMMM dd yyyy"
let currentDate = NSDate()
let convertedDateString = dateFormatter.stringFromDate(currentDate)
var dateField:NSTextField = NSTextField()
dateField.stringValue = convertedDateString as String
print(convertedDateString) //July 25 2016
print(dateField.stringValue) //July 25 2016
La seule différence était que je changeais pour NSDateFormatter
et au lieu de dateFormatter.string
j'avais dateFormatter.stringFromDate
.
Avez-vous accidentellement défini une valeur dans le storyboard ou xib que vous avez la NSTextField
?
Le problème que j'avais était de ne pas supprimer l'application de mon téléphone avant de réinstaller et de tester. Le code fonctionnait dans le simulateur mais pas le téléphone. J'espère que cela t'aides