質問編集履歴
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,13 +4,13 @@
|
|
4
4
|
|
5
5
|
Realmのデータベースをもとにした並び替え可能なTableViewを作成したいです
|
6
6
|
|
7
|
-
RealmのデータベースはResults型で、並び替えに用いるremoveやinsertが使えないので、一度Arrayに変
|
7
|
+
RealmのデータベースはResults型で、並び替えに用いるremoveやinsertが使えないので、一度Arrayに変換して、removeやinsertを用いて並び替えをし、for文を用いてRealmのデータベースを上書きしたいのですが、for文の中でArrayの中身が変わってしまい、正しく上書きされません
|
8
8
|
|
9
9
|
|
10
10
|
|
11
11
|
### 発生している問題・エラーメッセージ
|
12
12
|
|
13
|
-
例えば、tab1, tab2, tab3, tab4という4つのセルがあり、tab1をtab4のところに持っていくと、for文の中で配列の中が次のように変わっていってしまいます
|
13
|
+
例えば、tab1, tab2, tab3, tab4という4つのセルがあり、tab1をtab4のところに持っていくと、for文の中で配列の中身が次のように変わっていってしまいます
|
14
14
|
|
15
15
|
|
16
16
|
|
@@ -98,9 +98,11 @@
|
|
98
98
|
|
99
99
|
for (i, tab) in tabArray.enumerated() {
|
100
100
|
|
101
|
-
|
101
|
+
print(tabArray) // tabArrayの中身が変わってしまう
|
102
102
|
|
103
|
+
// tabArrayの中身が変わってしまい、tab.nameの値が変わってしまう
|
104
|
+
|
103
|
-
tabObjects[i].name = tab.name //
|
105
|
+
tabObjects[i].name = tab.name // Realmのデータベースを更新
|
104
106
|
|
105
107
|
}
|
106
108
|
|
@@ -116,7 +118,9 @@
|
|
116
118
|
|
117
119
|
|
118
120
|
|
121
|
+
tabObjects[i].name = tab.nameをコメントアウトすると、上記の現象は起こらず、tabArrayの中身は変わりません
|
122
|
+
|
119
|
-
|
123
|
+
tabArray自体には代入していないので、なぜ変わってしまうのか分かりません
|
120
124
|
|
121
125
|
|
122
126
|
|
@@ -124,4 +128,4 @@
|
|
124
128
|
|
125
129
|
|
126
130
|
|
127
|
-
|
131
|
+
最近、Swiftの勉強を始めたばかりなので、至らない点があると思いますが、どうぞよろしくお願いします
|
1
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
-
3周目 [
|
41
|
+
3周目 [0]tab2 -> tab3
|
42
42
|
|
43
43
|
[0]name = tab3
|
44
44
|
|
@@ -49,6 +49,8 @@
|
|
49
49
|
[3]name = tab2
|
50
50
|
|
51
51
|
|
52
|
+
|
53
|
+
4周目 [1]tab3 -> tab4
|
52
54
|
|
53
55
|
[0]name = tab3
|
54
56
|
|