2017-01-27 3 views
0

私はUITableViewにデータの束を表示しています。私のデータのソースはCore-Data多対多関係のNSSetからです。ユーザーがテーブルビュー内で行を移動すると、Core-Dataの内部に永続的な影響を与えたいと思っています。そのため、テーブルビューが再ロードされると、変更が表示され、NSSetはユーザーが行を移動した後に放置した方法で並べ替えられます。私はどのようなアプローチがこれに最も適しているのだろうかと思っています。ありがとう!UITableViewの行移動後にCoreDataを更新するにはどうすればよいですか?

+0

https://developer.apple.com/reference/uikit/uitableview/1614987-moverowこれを使用できますが、ブロックが必要であり、ブロック内にCoreDataに書き込む必要があることに注意してください(そうしないと、データ不一致エラー) – muescha

+0

コメントありがとうございます、これは視覚的には動作しますが、永続的ではありません。 –

+0

ブロック内に保持する必要があります – muescha

答えて

1

この順序で指定すると、NSSetの代わりにNSOrderedSetと表示されます。その名前が示すように、順序付きセットを使用すると、含まれているアイテムの順序を示すことができます。ユーザーの選択したシーケンスを反映するためにこれを操作する最善の方法は、mutableOrderedSetValue(forKey:)メソッドです。これはさまざまな追加、挿入、移動、置換、削除の方法を使用して並べ替えることができる変更可能な順序付きセット(NSMutableOrderedSet)です。

+0

ああ、それは意味をなさないでしょう。私はあなたが順序付けられたセットとして関係を設定することができることを認識していませんでした。返事をありがとう、私はそれを試して、あなたに戻って取得します。 –

+0

ありがとう!完璧に動作します –

関連する問題