Добрый день Всем
Я работаю над приложением, управляемым CoreData, которое начинается с пустого хранилища CoreData, которое я заполняю из приложения StackMob.
У меня есть подкласс UITableView, который извлекает и представляет мои данные так, как я хочу, но я немного озадачен тем, когда мне лучше всего получить исходные данные из StackMob. Когда я инициировал заполнение моего хранилища CoreData (из небольшого файла plist и только для тестирования представления) в applicationDidFinishLaunching, мое приложение потратило много времени на отображение экрана по умолчанию, и я ожидаю, что это будет еще дольше с реальными данными, полученными из Интернета. Я рассматриваю возможность изменения этого метода в моем подклассе UITableView...
- (NSFetchedResultsController *)frc
{
if (_frc) return _frc;
...
return _frc;
}
to...
- (NSFetchedResultsController *)frc
{
if (_frc) return _frc;
...
if ([[_frc fetchedObjects] count] == 0) {
// Spawn NSOperation to get initial data from StackMob.
// & use it to populate my CoreData store.
}
return _frc;
}
в этом случае я бы сделал NSOperation подклассом, который я мог бы повторно использовать для последующих обновлений данных. Я проверяю с помощью [[_frc fetchedObjects] count] == 0
, потому что я извлекаю все данные из объекта.
Хороший ли подход? Если нет, что было бы лучшим подходом?
Я надеюсь обеспечить пользовательский опыт, как я видел в некоторых приложениях, которые я использую, когда элемент появляется на «домашнем» экране по мере его загрузки и добавления в хранилище CoreData.
Ура и TIA, Педро :)