Я бы сказал, что перемещение fetchedResultsController во вспомогательный класс - хорошая идея.
Проблема, с которой я часто сталкиваюсь, заключается в правильном написании атрибутов.
Например, я делаю предикат и хочу отфильтровать атрибут @"isSelected"
. Компилятор и компоновщик не проверяют строку isSelected
. Мне придется перепроверить каждую строку, где строка была использована.
Поиск и замена не будут работать с ошибками, потому что я не знаю, какие ошибки были внесены.
Когда я неправильно понимаю предикат, результаты не будут получены. Проблема в том, что я не знаю, нет ли подходящих строк или я отфильтровал неправильно. Мне нужно будет проверить во время выполнения, и это требует времени.
Для предикатов сохраненные шаблоны существуют, поэтому предикаты не являются идеальным примером. Но подумайте о value forKey:
, и мы на первом месте.
Теперь, если все fetchedResultsController находятся в одном файле, проверка станет проще. По крайней мере, это уменьшает вероятность пропуска этой маленькой орфографической ошибки в далеком и редко используемом классе.
... или я потеряю некоторые преимущества кодирования в методах Core Data.
Я склонен сказать нет, но другие, пожалуйста, не стесняйтесь прыгать.