Какой хороший способ иметь образцы данных на iPhone / iPad? - PullRequest
1 голос
/ 20 апреля 2010

У меня есть приложение для iPad, которое извлекает все свои данные из внешнего веб-сервиса. Я работаю над созданием демонстрационного режима, в котором будет использоваться кэш демонстрационных данных, хранящихся на устройстве, чтобы его можно было просмотреть и опробовать без подключения к веб-службе (или подключения к Интернету).

Существует ли какой-либо проект или стандарт передовой практики, которым необходимо следовать для моделирования этого типа выборочных данных? Я ожидаю, что массивы / словари JSON вернутся из моего веб-сервиса. Как я могу построить функцию, использующую жестко закодированные данные для создания объекта NSMutableData, который я ожидаю получить из веб-запроса JSON?

Ответы [ 2 ]

3 голосов
/ 20 апреля 2010

Я всегда помещаю примеры данных в plist-файл в моей директории ресурсов. Очевидно, что он может быть создан как, скажем, массив словарей и т. Д., И поэтому может быть загружен непосредственно из файла:

NSString *myFile = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"SampleData.plist"];
NSDictionary *myDict = [[NSDictionary alloc] initWithContentsOfFile:myFile];

Для массивов существует эквивалентный метод. Очевидно, это может быть немного другой формат для вашего массива JSON, но для меня удобство импорта выигрывает!

1 голос
/ 21 апреля 2010

Я сделал это для приложения, которое в основном является интерфейсом к веб-сайту WordPress. Приложение было разработано для автоматического кэширования данных в папке Documents, поэтому перед выпуском я просто извлек все кэшированные данные, которые мне были необходимы, из каталога Simulator для моего приложения, поместил их в пакет и использовал следующую логику: *

If (network available ){
    get new live data
}else if (have cached data from previous connection){
    use it.
}else{
    use data from the bundle
}

Вы можете получить некоторые ошибки компилятора, если попытаетесь скопировать / вставить это в xCode ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...