stackoverflow questionで説明したリーダー/ライターのパターンがUIの更新にどのように作用しますか? UICollectionViewのデータソースに対して、(その質問に記載されているような)リーダライタパターンの配列を使用している場合、コレクションビューのinsert/delete/reloadメソッド呼び出しはどのように使用されますか?簡単に言えば、UI部分がどのようにこのようなリーダー - ライターパターンコードに適合するかを知りたいですか?Swift:配列リーダーライターパターンとUICollectionView更新
0
A
答えて
0
UI上の何かがメインスレッドで実行されなければならず、オブジェクトの配列はスレッドセーフではありません。したがって、メインスレッド以外のスレッドからデータを編集し、メインスレッドからUI用にデータを読み込む場合は、予期しない問題が発生する可能性があります。リンクからのリーダ/ライタのパターンは、書き込みが次々に(同期的に)起こることを確実にすることによってスレッドの安全性を保証します。バックグラウンドスレッドからデータソースを編集し、アプリケーションが頻繁にクラッシュすることなく、メインスレッドのuicollectionviewを安全に更新することができます。
ただし、データソースにコアデータオブジェクトが含まれている場合は、メインスレッドで実行される管理対象オブジェクトコンテキストからオブジェクトをフェッチする必要があります。バックグラウンドスレッドで実行される管理対象オブジェクトコンテキストを使用してデータを編集する場合は、親コンテキストに変更をプッシュしてから、データを使用してコレクションビューを更新する前にメインスレッドで実行されるmocを使用して変更を読み取る必要があります。このような場合、リーダ/ライターのパターンはあなたを助けません。
関連する問題
- 1. 更新/リロードコレクションビューUICollectionView
- 2. Swift - 配列をループしてUICollectionViewに追加
- 3. SwiftのUICollectionViewセクションボーダー
- 4. UICollectionview footer in swift
- 5. layoutAttributesForElementsInRect Swift 3(UICollectionView)
- 6. UICollectionviewを更新する
- 7. SwiftのUICollectionView + NSFetchedResultsController 3
- 8. Swift/iOSのNSUserDefaultsからUITableViewと配列を更新する適切な方法
- 9. SQLクエリ更新列配列
- 10. JavaScript:テキスト配列の表示と更新
- 11. UITableViewCellのSwift UICollectionView indexPathエラー
- 12. UICollectionViewのSwift SpecializedクラッシュcellForItemAtIndexPath
- 13. パス配列(SWIFT)
- 14. カスタムUIViewでUICollectionViewを配線する方法 - Swift
- 15. 配列を更新する
- 16. のMongoDB更新配列
- 17. 更新オブジェクト配列は、
- 18. 配列をUICollectionViewに追加する
- 19. Swiftで更新された後にマージされた配列を更新する方法
- 20. SwiftとKVOを使って個々の配列要素の変更(更新)を観察する方法は?
- 21. UICollectionView - デバイス上のセルのサイズを変更する - Swift
- 22. Swiftの配列objectEnumerator
- 23. オブジェクトの配列 - Swift
- 24. UInt32配列からDouble配列Swift
- 25. UICollectionView indexPathsForVisibleItemsは新しい可視セルを更新しません
- 26. Swift 3 - パディング付きUICollectionView Centerセル
- 27. UICollectionViewのデータをリロードする - Swift
- 28. UICollectionViewセル間の奇妙なギャップ(Swift)
- 29. 更新し、次の配列を考えると1次元配列
- 30. JavaScriptを初期化/追加/更新する配列の配列