私の現在のプロジェクトでは、とUICollectionView
がうまく動作しました。現在、私は私がUICollectionView
への変更をキューするBlockOperation
配列を使用しています、次のエラーメッセージSwiftのUICollectionView + NSFetchedResultsController 3
This application is modifying the autolayout engine from a background thread after the engine was accessed from the main thread.
を引き起こしスウィフト3とXcode 8にプロジェクトをアップグレードしよう。ここでは、新しいアイテムを挿入する方法の例を示します。
self.blockOperations.append(BlockOperation(block: {
collectionView?.insertItems(at: [newIndexPath!])
}))
これはcontrollerDidChangeContent
var blockOperations = [BlockOperation]()
func controllerDidChangeContent(_ controller: NSFetchedResultsController<NSFetchRequestResult>) {
if self.shouldReloadCollectionView {
self.collectionView.reloadData()
}
self.collectionView?.performBatchUpdates({
for operation in self.blockOperations {
OperationQueue.current?.addOperation(operation)
}
}, completion: { (completed) in
print(completed)
})
}
の私の現在の実装では、誰もこれで私を助けることができるスウィフト3でUICollectionView
でNSFetchedResultsController
を実施しているのですか?
へのリンクは多分という、ちょっとです役立ちます? - https://gist.github.com/nazywamsiepawel/e88790a1af1935ff5791c9fe2ea19675 –