質問するログイン新規登録

質問編集履歴

3

変更

2019/01/15 09:06

投稿

hahum
hahum

スコア65

title CHANGED
File without changes
body CHANGED
@@ -90,4 +90,60 @@
90
90
  }
91
91
  }
92
92
 
93
+
94
+ ```
95
+
96
+ 前の画面
97
+ ```Swift
98
+ var resultArray1 = [String]()
99
+
100
+ var dateArray1 = [String]()
101
+
102
+ var Array1: [[String]] = []
103
+
104
+ var date1 = Date()
105
+
106
+
107
+ ...
108
+ ...
109
+ @IBAction func save(_ sender: Any) {
110
+
111
+ //配列を取り出す
112
+ if (UserDefaults.standard.object(forKey: "save") != nil) {
113
+ Array1 = UserDefaults.standard.object(forKey: "save") as! [[String]]
114
+
115
+ }
116
+
117
+ //Array1の要素0(resultArray1の保存したもの)をresultArray1に入れる
118
+ self.resultArray1 = self.Array1[0]
119
+ // Array1の要素1(dateArray1の保存したもの)をdateArray1に入れる
120
+ self.dateArray1 = self.Array1[1]
121
+
122
+
123
+ //zikanを呼び出す
124
+ zikan()
125
+ //resultArrayに回数を追加
126
+ resultArray1.append(countLabel2.text!)
127
+
128
+ Array1 = [resultArray1, dateArray1]
129
+
130
+ UserDefaults.standard.set(Array1, forKey: "save")
131
+
132
+ print("Array1:", resultArray1.count)
133
+
134
+
135
+ }
136
+
137
+
138
+ func zikan() {
139
+ //日付のフォーマットを指定する
140
+ let format = DateFormatter()
141
+ format.dateFormat = DateFormatter.dateFormat(fromTemplate: "yMdkHm", options: 0, locale: Locale(identifier: "ja_JP"))
142
+
143
+ //日付をStringに変換する
144
+ let sDate = format.string(from: date1)
145
+ //日付をdateArrayに入れる
146
+ dateArray1.append(sDate)
147
+ }
148
+
93
149
  ```

2

変更

2019/01/15 09:06

投稿

hahum
hahum

スコア65

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,7 @@
1
1
  ボタンを押したら記録とその時刻をtableViewに保存したいのですが、表示する時刻と回数が配列に入っている一つまえのものになってしまいます。
2
2
  前の画面から値を受け取っているのですがそこの配列に入っている回数と時刻はprint(.description)で確認したところ正しかったので、問題はこのtableViewにあると思われます。(tableViewでuserdefaultから受け取った配列に新しい回数と時刻が入っていない)
3
3
  何かアドバイスでも頂けたら幸いです。
4
+ 追記1/13日 回答お待ちしています。
4
5
  ```Swift
5
6
  var resultArray2 = [String]()
6
7
 
@@ -80,7 +81,8 @@
80
81
  resultArray2.remove(at: indexPath.row)
81
82
  dateArray2.remove(at: indexPath.row)
82
83
 
83
-
84
+ Array2 = [resultArray2, dateArray2]
85
+
84
86
  UserDefaults.standard.set(Array2, forKey: "save")
85
87
 
86
88
  tableView.reloadData()

1

変更

2019/01/14 09:24

投稿

hahum
hahum

スコア65

title CHANGED
@@ -1,1 +1,1 @@
1
- tableviewに表示されるべき時刻のずれと配列の削除
1
+ tableviewに表示されるべき時刻のずれ
body CHANGED
@@ -1,7 +1,6 @@
1
- ボタンを押したら記録とその時刻をtableViewに保存したいのですが、表示する時刻分前のものになってしまいます。
1
+ ボタンを押したら記録とその時刻をtableViewに保存したいのですが、表示する時刻と回が配列に入っている一つまえのものになってしまいます。
2
- 前の画面から値を受け取っているのですがそこの配列に入っている回数と時刻は正しかったので、問題はこのtableViewにあると思われます。
2
+ 前の画面から値を受け取っているのですがそこの配列に入っている回数と時刻はprint(.description)で確認したところ正しかったので、問題はこのtableViewにあると思われます。(tableViewでuserdefaultから受け取った配列に新しい回数と時刻が入っていない)
3
-
4
- そして配列を削除するために一番最後にEditingStyleを書いているのですが、Array2を丸ごと削除する方法はありますでしょうか。Array2 = [resultArray2, dateArray2]なので[indexpath.row]は使えないと思うのですが、何かアドバイスでも頂けたら幸いです。
3
+ 何かアドバイスでも頂けたら幸いです。
5
4
  ```Swift
6
5
  var resultArray2 = [String]()
7
6