У меня есть сегментный элемент управления, который может упорядочивать / фильтровать элементы тремя различными способами - потому что количество элементов различается в зависимости от фильтра / порядка. Я использую 3 различных объекта NSArray для хранения отсортированных списков.
Поэтому, когда я загружаю данные, я помещаю их версию в правильное место в каждом массиве (или не в массиве в зависимости от фильтра).
У меня есть вызов, чтобы получить массив, который использует состояние сегментированного элемента управления, чтобы решить, какой массив вернуть.
Метод, который вызывает массив, используется вместо обычного массива, и это означает, что все, что мне нужно сделать, чтобы изменить вещи при изменении сегментированного элемента управления, это вызвать [tableView reloadData], и все для меня сделано.