У меня есть теоретический вопрос.Лучший способ реализации протокола UICollectionViewDataSource?
В настоящее время мое приложение использует UICollectionView
в качестве способа отображения списка объектов. UIViewController
, который содержит UICollectionView
как подпункт, реализует протокол UICollectionViewDelegate
и выполняет функции делегата и источника данных. Datasource использует NSFetchedResultsController
для предоставления данных;
По-моему, это не лучший способ реализовать источник данных, а реализация его в отдельном классе выглядит лучше. Но проблема в том, что источник данных зависит от параметров поиска в UITextField
и некоторых других вариантах кнопок, поэтому каждый раз, когда пользователь вводит текст в поле поиска или нажимает любую из кнопок «сортировки», я должен обновлять источник данных (в частности fetchRequest в NSFetchedResultsController
).
Итак, наконец, мой вопрос: Есть ли «лучшие практики» для реализации источников данных, которые зависят от внешних параметров? Должен ли я создать отдельный класс для источника данных для отпуска так, как сейчас? Если я использую datasource как отдельный класс, должен ли я создавать datasourcedelegate для вызова самодельных методов делегатов при делегировании при обновлении источника данных или при использовании некоторых других обходных путей для этой проблемы (я не рассматриваю возможность использования уведомлений о обновлении данных, поскольку, как и для механизма уведомлений это более глобальное решение, которое мне нужно здесь)?
Я не ищу самый быстрый способ, я просто хочу найти верный теоретический способ реализации.
Спасибо всем заранее :)