Зачем использовать NSFetchedResultsController?

Основные данные предоставляют метод "executeFetchRequest" в классе NSManagedObjectContext, который мы можем использовать для извлечения данных из таблиц и использовать их независимо от способа.

Теперь есть другой способ: использовать NSFetchedResultsController и предоставить его UITableView для извлечения и данных из таблиц.

Теперь мои вопросы:

  • Какой путь быстрее? Я имею в виду производительность, которая лучше всех?

  • Является ли NSFetchedResultsController используется только с UITableViews?

  • Каковы преимущества и недостатки NSFetchedResultsController.

  • И последнее: "Почему мы используем NSFetchedResultsController", что делает его лучше, чем любой другой.

Ответ 1

И последнее: "Почему мы используем NSFetchedResultsController", что вещь делает ее лучше, чем любая другая путь.

Класс FRC предназначен для автоматического управления всеми служебными данными, связанными с предоставлением сложных и динамических данных для таблиц.

Если у вас есть простая таблица одного раздела, данные которой никогда не изменяются, FRC не дает вам никаких преимуществ. Вы просто делаете выборку, и все готово. Однако, если данные изменяются либо в пользовательском интерфейсе (пользователь переупорядочивает, удаляет или добавляет), либо по коду (например, данные обновляются с сервера), FRC предоставляет механизмы для обработки всех этих постоянных изменений и обеспечения точности отображения таблицы эти изменения.

Какой путь быстрее?, я имею в виду насколько это возможно. лучше?

Нет существенной разницы в производительности при использовании Fetch или FRC, поскольку они используют один и тот же механизм выборки для получения данных из постоянного хранилища. Если у вас сложные динамические данные, быстрее использовать FRC, чем дублировать свои функции вручную.

Каковы плюсы и минусы NSFetchedResultsController.

См. выше.

Является ли NSFetchedResultsController только используется с UITableViews?

Да, это действительно полезно только для таблиц.