In general,
NSFetchedResultsController
is designed to respond to changes at the model layer. If you allow a user to reorder table rows, then your implementation of the delegate methods must take this into account. - Apple Documentation
Can you please cover how to handle user-driven changes (especially, editing the TableView and moving cells around manually) in the Chapter 5? This is a common use case. Thanks!