2013-08-26 2 views
0

У меня есть собственный сайт, и я хочу написать приложение, которое загружает данные (строки/тексты) из него, чтобы заполнить таблицу на iPhone (например, -список). Я хочу постоянно менять содержимое своего приложения (таблицы), не делая обновления в App Store. Когда приложение запускается, оно должно захватывать содержимое с моего сайта ...Лучший способ загрузить данные с сайта/сервера на iPhone

Должен ли я использовать FTP для таких действий или есть ли способы загрузки и управления данными?

ответ

6

Если содержание в простой текстовой/строке, то нет никакой необходимости FTP (Это полезно в случае большой передачи файлов из Интернета в приложение), то наиболее подходящая методика является RESTful Services.

RESTful Services данные GET/POST очень легкие. Таким образом, вы можете легко перенести данные с веб-сайта на iOS application. И всякий раз, когда вы измените данные, он автоматически изменит данные iPhone app. Таким образом, нет необходимости менять после загрузки App Store.

Надеюсь, это вам поможет!

-1

Простым решением будет использование JSON через HTTP. Чтобы сделать более стабильное решение, вы можете полностью заполнить RESTful web service. Использование кодов состояния HTTP для информирования клиента о том, что происходит.

Использование AFNetworking позволит очень легко вызвать веб-службу и проанализировать ответ JSON.

+1

Бонус: gzip/bzip данные JSON для минимизации полосы пропускания. – DarkDust

+2

Использование сторонней структуры НЕ должно быть первым предложением. – Kuba

+0

@SimpleMan Почему бы и нет? – rckoenes

0

Лучший способ сделать это - использовать JSON для передачи данных между устройством и сервером. Легкий и очень простой для анализа.

Для общения по сети, я бы порекомендовал вам вам AFNetworking для передачи и приема данных (вы также можете использовать NSURLConnection но AFNetworking построен над ним и очень эффективно)

Если вы ищете супер быстрое решение то вы можете пойти за PubNub слишком

-1

Для лучшего опыта разработчиков вы должны использовать JSON или XML в службе REST.

Что я предлагаю вам сделать, это использовать CoreData и NSFetchedResultController. Это довольно четкое решение.

Но для simleproject у вас может быть NSJSONSerialization класс или NSXMLParser. На мой взгляд, вы должны попробовать JSON. Документы прямо в этом случае.

Давайте предположим, что у вас есть JSON REST API:

dispatch_queue_t fetchQueue = dispatch_queue_create("nameOfYourQ", NULL); 
dispatch_async(fetchQueue, ^{ 
    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://yourlink"]]; 
    NSArray *arr = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     [yourTableView reloadData]; 
    }); 
}); 

Вот и все.

+2

Не лучшее решение, если вы хотите обрабатывать ошибки HTTP.используя ['NSURLRequest'] (https://developer.apple.com/library/iOS/documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class/Reference/Reference.html) с помощью [' NSURLConnection'] (https: // developer.apple.com/library/iOS/documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html) позволит вам лучше обрабатывать любые ошибки соединения или HTTP – rckoenes

+0

True. Делегат 'NSURLConnection' является более мощным. Это решение, которое я предлагаю, в основном используется мной для установки больших пальцев в tableView. Когда я работаю с файлами JSON, я использую 'NSURLConnection'. Но для начинающих это должно работать отлично. Обратите внимание, что 'NSJSONSerialization' имеет указатель на ошибку в последнем параметре. – Kuba

+0

Также вы должны всегда проверять наличие сетевого подключения перед вызовом любого онлайн-ресурса. Это указано в документации Apple. – rckoenes

Смежные вопросы