アプリでは、ユーザーが完了したジョブをタップすると、後で使用するためにタイムスタンプを収集します。 こうすれば、ジョブが別のビューで完了したときに表示できます。日付変数が呼び出されたときに、それを再計算または更新するにはどうすればよいですか?
問題は、ユーザーが仕事をタップしたときに変数が変更されないことです。ここで
は、私はそれをプリントアウトする際のデータ構造体は次のようになります。
Moneypants.Points(user: "Father", itemName: "enter your top priority habit here", itemCategory: "daily habits", code: "C", valuePerTap: 24, itemDate: 1511579837.027503),
Moneypants.Points(user: "Father", itemName: "pray & scripture study", itemCategory: "daily habits", code: "C", valuePerTap: 6, itemDate: 1511579837.027503),
Moneypants.Points(user: "Father", itemName: "exercise (20 min)", itemCategory: "daily habits", code: "C", valuePerTap: 6, itemDate: 1511579837.027503),
Moneypants.Points(user: "Father", itemName: "journal", itemCategory: "daily habits", code: "C", valuePerTap: 6, itemDate: 1511579837.027503),
Moneypants.Points(user: "Father", itemName: "1-on-1 time with kid", itemCategory: "daily habits", code: "C", valuePerTap: 6, itemDate: 1511579837.027503)
あなたが見ることができるように、各項目のタイムスタンプが同じである(それらは各々が「1511579837.027503」のタイムスタンプを表示)、にもかかわらず、私は各項目を別々に数秒間隔でタップしたという事実。
CODE
class UserVC: UIViewController {
var selectedDate: Date!
override func viewDidLoad() {
super.viewDidLoad()
selectedDate = Date()
ユーザーが完全な仕事をマークするために、セルをタップすると、これが実行されるコードです:
let pointsArrayItem = Points(user: currentUserName,
itemName: (usersDailyJobs?[indexPath.row].name)!,
itemCategory: "daily jobs",
code: "C",
valuePerTap: dailyJobsPointValue,
itemDate: (selectedDate?.timeIntervalSince1970)!)
Points.pointsArray.append(pointsArrayItem)
私はそれは非常に簡単だと思うが、私はできませんそれを理解する。
ビューがロードされるとき、 'selectedDate'の値を1回だけ設定します。おそらくタップで設定したいと思うでしょう。 '... itemDate:Date()。timeIntervalSince1970)' – BallpointBen
あなたの質問には関係ありませんが、あなたのタブ項目のタイトルから '' my "'を取り除くべきです。 –
はい、今日以外の日付に変更すると機能しません。ページを見ると、ユーザーは自分の仕事を記入する日を選択できることがわかります。 –