Хорошие стратегии REST-> XML-> Базовые Данные-> UITableView?

Необходимо изучить PHPUnit, это смотрит в значительной степени как nUnit.

9
задан Alex Reynolds 29 September 2009 в 22:39
поделиться

2 ответа

Sure, this is a pretty standard thing. The easiest solution is to do the loading in a background thread on one MOC, and have the UI running on the main thread with its own MOC. Whenever you get a chunk of data you want to have appear (say 50 entries), you have the background MOCsave:.

Assuming you have the foreground MOC rigged to merge changes (via mergeChangesFromContextDidSaveNotification:) then whenever you save the background MOC the foreground MOC will get all of those changes. Assuming you are using NSFetchedResultsController it has delegate methods to cope with changes in its MOC, and if you are using Apple's sample code then you probably already have everything setup correctly.

In general CoreData is going to be faster than anything you roll yourself unless you really know what you are doing and are willing to spend a ton of time tuning for your specific case. The biggest thing you can do is make sure that slow things (like XML processing and synchronous flash I/O caused by save:) are not on the main thread blocking user interaction.

14
ответ дан 4 December 2019 в 13:03
поделиться

Джо Хьюитт (разработчик приложений для Facebook) выпустил большую часть своего кода с открытым исходным кодом. Он называется Three20 . Там есть класс, который отлично подходит для извлечения данных из Интернета и их заполнения в таблице без необходимости в данных заранее. Используемые для этого классы называются TTTableViewController и TTTableViewDataSource .

Отсюда не составит большого труда сохранить как CoreData, просто подклассифицируйте классы по своему усмотрению. с помощью прилагаемых крючков.

Если вас беспокоит слишком много данных, 50 за раз - это разумно. В этих классах есть встроенная кнопка «Дополнительно», которая поможет вам.

Из ознакомительного файла Three20:

Контроллеры табличных представлений с поддержкой Интернета
TTTableViewController и TTTableViewDataSource поможет вам создавать таблицы, которые загружают свое содержимое из Интернета. А не просто при условии, что у вас есть все данные идти, как это делает UITableView по умолчанию TTTableViewController позволяет вы общаетесь, когда ваши данные загрузка, а когда есть ошибка или нечего продемонстрировать. Это также помогает вам добавить кнопку «Еще», чтобы загрузить следующая страница данных, и опционально поддерживает перезагрузку данных путем встряхивания устройство.

2
ответ дан 4 December 2019 в 13:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: