私のコードは、最初の配列が印刷されたときだけ印刷されます。印刷される配列のすべてのインデックスは同じ時間を持ちます。関数を呼び出した日時を表すように、コードを取得するにはどうすればよいですか。同じ日付と時刻が印刷されたアレイに表示され続けます
それは、ユーザーが番号20と30に入ったときに、出力されているとおり:
Date | 2017 May Sunday 20:43:55 | 30 Date | 2017 May Sunday 20:43:55 | 20
これはコードです:
import UIKit
class ViewController: UIViewController {
@IBOutlet var label: UILabel!
@IBOutlet var textField: UITextField!
var arrayOfInt = [Int]()
@IBAction func pressButton(_ sender: Any) {
if let text = textField.text, let number = Int(text) {
arrayOfInt.insert(number, at: 0)
label.text = arrayOfInt.map { "Date | \(Date.formattedNow) | \($0)" }.joined(separator:"\n\n")
UserDefaults.standard.set(arrayOfInt, forKey: "SavedStringArray")
}
else {
label.text = "Please Enter Number"
}
}
}
extension Date {
static var formattedNow: String = {
let now = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy MMM EEEE HH:mm:ss"
dateFormatter.timeZone = TimeZone(identifier: "EST")
return dateFormatter.string(from: now)
}()
}