関数のNSDateに問題があります。基本的に、書式設定は機能していません。また、間違っていることを確認するために別の目が必要です。
コード:
@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)
結果:
変換日:2016年7月25日
dateField.stringValue:7/25/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 Date {
func toString(format: String) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
return dateFormatter.string(from: self)
}
}
Date().toString(format:"H:mm")
これは私が遊び場で試したもので、動作します。
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
唯一の違いは、NSDateFormatter
に変更し、dateFormatter.string
の代わりにdateFormatter.stringFromDate
を持っていることです。
ストーリーボードまたはxibにNSTextField
がある値を誤って設定しましたか?
私が抱えていた問題は、再インストールしてテストする前に携帯電話からアプリを削除しなかったことです。コードはシミュレータでは機能していましたが、電話では機能していませんでした。お役に立てれば