2017-05-08 13 views
0

ここに配列を出力するコードがあります。私は、各配列エントリの時刻と日付を出力する拡張ファイルを追加しました。しかし、問題は、拡張ファイルがリフレッシュされていないことです。したがって、最初の配列の日時は、すべての配列に印刷される日時です。配列が印刷されているときに日付と時刻を一致させたいだけです。更新しないと呼び出されたときの拡張ファイル(swift3)

enter image description here

enter image description here

import UIKit 
    class ViewController: UIViewController { 
    @IBOutlet var entry: UILabel! 
    var arrayOfInt = [Int]() 

     @IBOutlet var label: UITextField! 

    override func viewDidLoad() { 
    super.viewDidLoad() 

    } 

    @IBAction func enterScore(_ sender: Any) { 

    if let text = label.text { 
     if let number = Int(text){ 
      arrayOfInt.insert(number, at: 0) 

      entry.text = arrayOfInt.map { " \(Date.formattedNow) | \($0)" }.joined(separator:"\n\n") 

      }} 

     else { 
     entry.text = "Please Enter Number" 

     }}} 

extension Date { 
static var formattedNow: String = { 
    let now = Date() 
    let dateFormatter = DateFormatter() 
    dateFormatter.dateFormat = "MM/dd/yyyy HH:mm:ss" 
    dateFormatter.timeZone = TimeZone(identifier: "EST") 
    return dateFormatter.string(from: now) 
}()} 

答えて

0

あなたは、アレイ内の各番号の作成時刻を保存したい場合は、インスタンスメソッドであることをタプルの配列を使用し、拡張子を変更する必要があります現在の日付ではなく、自分自身で作業します。コードが印刷さ

Date: 05/09/2017 09:51:46, number: 2 
Date: 05/09/2017 09:51:51, number: 5 

スリープ5の上方

var numbersWithCreationDates = [(Int,Date)]() 
numbersWithCreationDates.append((2,Date())) 
sleep(5) 
numbersWithCreationDates.append((5,Date())) 

extension Date { 
    var estDate: String { 
     let dateFormatter = DateFormatter() 
     dateFormatter.dateFormat = "MM/dd/yyyy HH:mm:ss" 
     dateFormatter.timeZone = TimeZone(identifier: "EST") 
     return dateFormatter.string(from: self) 
    } 
} 

for current in numbersWithCreationDates { 
    print("Date: \(current.1.estDate), number: \(current.0)") 
} 

のみプレイグラウンドでのテストのために必要とされている、あなたはあなたの実際のコードでそれを省略することができます。

+0

私はそれを試みました。エラーメッセージの状態には、格納されていないプロパティが含まれる場合があります。 –

+0

正確なエラーメッセージを表示してください。これは、拡張が実際に格納できる計算されたプロパティであるためです。 –

+0

エラーメッセージを含む私の質問に画像を追加しました。私がこの写真でしたのは、静的なvar formattedNow:static = {" –

関連する問題