2017-04-04 9 views
0

領域データベースをSwift 3.1 iOS Appに統合する際に問題があります。変更前通知がありますか?

グループ化されたUITableViewからセクションを更新したり管理したりするには、レルムの各変更がコミットされる前に通知することをお勧めします。 つまり、削除するindexPathを計算するために、削除されたオブジェクトへの参照が必要です。

これを取得する方法や回避策はありますか?

ご挨拶ピーター

答えて

1

コレクション通知を使用できます。詳細については、https://realm.io/docs/swift/latest/#collection-notificationsをご覧ください。

+0

あなたの権利は、セクションが1つの単純なテーブルでうまくいきます。しかし、オブジェクトのコレクションが複数のセクションでソートされて配置される、より複雑なテーブルビューを想像してください。別のユーザがオブジェクトを削除すると、未処理の配列とグループ化されていない配列の削除されたインデックスで通知ハンドラが実行されます。私は削除されたオブジェクトと私のtableView内のソートされたオブジェクトを比較せずに正しいindexPathを計算する方法がありません。だから私はそれが削除される前に削除オブジェクトまたは通知への参照が必要です。 –

+0

よくあるケースでは、テーブルビューはモデルと同期していなければならず、通知ハンドラは正しいインデックスを受け取ります。 Realmがサポートするテーブルビューのセクションを管理する上で、https://github.com/realm/realm-cocoa/issues/4506が役立つでしょう。 – Dmitry

関連する問題