Это зависит от того, как будут представлены источники данных. Будет ли таблица объединяться с результатами или вы будете переключаться между двумя источниками? Если он перевернулся, вам просто нужно переназначить источник данных (или если вы хотите сохранить один и тот же источник данных, переназначьте модель источника данных).
Для одного из моих проектов я представил слияние двух разных моделей. Я создал модель, состоящую из массива моделей. Затем мне пришлось реализовать каждый из соответствующих методов модели в терминах массива моделей. Например:
- (BOOL)isLoaded {
BOOL isLoaded = YES;
for (TTModel *model in self.models) {
isLoaded &= model.isLoaded;
}
return isLoaded;
}
- (void)load:(TTURLRequestCachePolicy)cachePolicy more:(BOOL)more {
for (TTModel *model in self.models) {
[model load:cachePolicy more:more];
}
}
etc etc
Это работало очень хорошо для нас, даже если одна из моделей была основана на локальных данных, а другой на данных по проводам.