Я думаю, что все, что здесь происходит, это то, что вам нужно настроить любой NSMutableArray (или любой другой) для удаления объекта, о котором вы говорите, NSFetchedResultsController был просто удален. Ранее у вас было 3 объекта, вы указали, что один из них был удален, тогда он ожидает, что строки в разделе 0 теперь должны содержать 2, а не 3, которые он все еще обнаруживает.
Я понимаю, что это не тот вопрос, который вы задаете, но вопрос о "наилучших методах" может быть немного общим, чтобы получить хороший единственный ответ.