несколько NSFetchRequestController's в одном представлении? - PullRequest
1 голос
/ 02 декабря 2010

Является ли проблемой наличие нескольких NSFetchRequestControllers в одном представлении? У меня есть 4 таблицы в 1 представлении, и мне нужно 4 контроллера - мне придется использовать теги, чтобы различать таблицы, я думаю, - просто любопытно, как лучше.

Ответы [ 2 ]

1 голос
/ 02 декабря 2010

Не думаю, что с этим что-то не так.Предполагая, что данные за каждой из ваших таблиц не очень тесно связаны, вы все равно получите 4 отдельных структуры данных (для кэширования результатов нескольких выборок).Одна вещь, которая может быть полезна, это иметь отдельный dataSource для каждой таблицы, но совместно используемый delegate.Таким образом, вы можете обрабатывать логику представления в общем делегате, например, выдвигать новые контроллеры представления при выделении ячеек.Просто мысль.

0 голосов
/ 02 декабря 2010

Пока вы используете отдельные экземпляры контроллеров, а затем настраиваете fetchResultsController в зависимости от того, какую таблицу вы заполняете, это должно быть хорошо.

У меня есть 1 контроллер представления, который создается на двух отдельных вкладках, чтобы по-разному отображать один и тот же набор данных. Я просто проверяю, какая панель вкладок выбрана в методе NSFetchedResultsController, и соответственно применяю соответствующие предикаты:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSUInteger tab = [theDelegate.tabBarController selectedIndex];
switch (tab) {
    case kFeaturedTab: {
                // Setup sort desc & predicates
        }
    case kComingSoonTab: {
            // Setup alt. sort desc & predicates
    }
        ... // Do the fetch
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...