質問編集履歴

6

修正

2020/09/23 14:44

投稿

sunglass
sunglass

スコア303

test CHANGED
File without changes
test CHANGED
@@ -130,11 +130,11 @@
130
130
 
131
131
  [id:2, name:suzuki],
132
132
 
133
- [id:3, namae:yoshida],
134
-
135
133
  [id:1, namae:tanaka],
136
134
 
137
135
  [id:2, name:suzuki],
136
+
137
+ [id:3, namae:yoshida]
138
138
 
139
139
  ]
140
140
 
@@ -148,7 +148,7 @@
148
148
 
149
149
  [id:2, name:suzuki],
150
150
 
151
- [id:3, namae:yoshida],
151
+ [id:3, namae:yoshida]
152
152
 
153
153
  ]
154
154
 
@@ -170,7 +170,13 @@
170
170
 
171
171
  [id:2, name:musuka],
172
172
 
173
+ [id:3, namae:yoshida]
174
+
173
175
  ]
176
+
177
+ ※再度重複が発生します。
178
+
179
+ 一部値が変更されているので重複と見なされないようです。。
174
180
 
175
181
 
176
182
 

5

修正

2020/09/23 14:44

投稿

sunglass
sunglass

スコア303

test CHANGED
File without changes
test CHANGED
@@ -106,7 +106,9 @@
106
106
 
107
107
  削除処理をself.array.append(self.dic)以降に追加して成功したかに見えたのですが...
108
108
 
109
- `addSnapshotListener`がプロパティの監視と通知の役割を担っており、別ページでプロパティ(例:completed:falseをtrue)を書き換えると `配列の要素が更される`、`監視が作動`して、配列の中身が書き換えられて再度配列の重複が起こります。
109
+ `addSnapshotListener`がプロパティの監視と通知の役割を担っており、別ページでプロパティ(例:completed:falseをtrue)を書き換えると `配列の変化の)監視が作動`して、`通知が届き`配列の中身が書き換えられて再度配列の重複が起こります。
110
+
111
+ (正確には下記のようにプロパティ変更後の配列になっています。なので重複と見なされていないっぽいです。。)
110
112
 
111
113
 
112
114
 

4

修正

2020/09/23 14:42

投稿

sunglass
sunglass

スコア303

test CHANGED
File without changes
test CHANGED
@@ -107,3 +107,69 @@
107
107
  削除処理をself.array.append(self.dic)以降に追加して成功したかに見えたのですが...
108
108
 
109
109
  `addSnapshotListener`がプロパティの監視と通知の役割を担っており、別ページでプロパティ(例:completed:falseをtrue)を書き換えると `配列の要素が変更される`、`監視が作動`して、配列の中身が書き換えられて再度配列の重複が起こります。
110
+
111
+
112
+
113
+
114
+
115
+ ```ここに言語を入力
116
+
117
+ 最初→[
118
+
119
+ [id:1, namae:tanaka]
120
+
121
+ ]
122
+
123
+
124
+
125
+ 追加後→[
126
+
127
+ [id:1, namae:tanaka],
128
+
129
+ [id:2, name:suzuki],
130
+
131
+ [id:3, namae:yoshida],
132
+
133
+ [id:1, namae:tanaka],
134
+
135
+ [id:2, name:suzuki],
136
+
137
+ ]
138
+
139
+ ※追加するとなぜか重複
140
+
141
+
142
+
143
+ 削除後→[
144
+
145
+ [id:1, namae:tanaka],
146
+
147
+ [id:2, name:suzuki],
148
+
149
+ [id:3, namae:yoshida],
150
+
151
+ ]
152
+
153
+ ※NSOrderedSetで削除自体は成功
154
+
155
+
156
+
157
+ (削除後&)プロパティの変更(nameの変更)をすると→
158
+
159
+ [
160
+
161
+ [id:1, namae:tanaka],
162
+
163
+ [id:2, name:suzuki],
164
+
165
+ [id:3, namae:yoshida],
166
+
167
+ [id:1, namae:mimura],
168
+
169
+ [id:2, name:musuka],
170
+
171
+ ]
172
+
173
+
174
+
175
+ ```

3

修正

2020/09/23 14:38

投稿

sunglass
sunglass

スコア303

test CHANGED
File without changes
test CHANGED
@@ -106,4 +106,4 @@
106
106
 
107
107
  削除処理をself.array.append(self.dic)以降に追加して成功したかに見えたのですが...
108
108
 
109
- `addSnapshotListener`がプロパティの監視と通知の役割を担っており、別ページでプロパティ(例:completed:falseをtrue)を書き換えると `配列の要素が変更される`再度配列の重複が起こります。
109
+ `addSnapshotListener`がプロパティの監視と通知の役割を担っており、別ページでプロパティ(例:completed:falseをtrue)を書き換えると `配列の要素が変更される`、`監視が作動`して、配列の中身が書き換えられて再度配列の重複が起こります。

2

修正

2020/09/23 14:33

投稿

sunglass
sunglass

スコア303

test CHANGED
File without changes
test CHANGED
@@ -106,4 +106,4 @@
106
106
 
107
107
  削除処理をself.array.append(self.dic)以降に追加して成功したかに見えたのですが...
108
108
 
109
- `addSnapshotListener`がプロパティの監視と通知の役割を担っており、別ページでプロパティ(例:completed:falseをtrue)を書き換えると `配列の要素が変更される`ため削除効かなくなります。
109
+ `addSnapshotListener`がプロパティの監視と通知の役割を担っており、別ページでプロパティ(例:completed:falseをtrue)を書き換えると `配列の要素が変更される`再度配列の重複起こります。

1

追記

2020/09/23 14:32

投稿

sunglass
sunglass

スコア303

test CHANGED
File without changes
test CHANGED
@@ -91,3 +91,19 @@
91
91
 
92
92
 
93
93
  ```
94
+
95
+ ```ここに言語を入力
96
+
97
+ // 削除
98
+
99
+ let orderedSet: NSOrderedSet = NSOrderedSet(array: self.todos)
100
+
101
+ // 再度Arrayに戻す
102
+
103
+ self.todos = orderedSet.array as! [[String:Any]]
104
+
105
+ ```
106
+
107
+ 削除処理をself.array.append(self.dic)以降に追加して成功したかに見えたのですが...
108
+
109
+ `addSnapshotListener`がプロパティの監視と通知の役割を担っており、別ページでプロパティ(例:completed:falseをtrue)を書き換えると `配列の要素が変更される`ため削除が効かなくなります。