Как стать автором
Обновить

Комментарии 7

@synchronized(_airports){
_airports = dbAirports;
}

Вот это очень странный кусок. Синхронизироваться явно надо по чему-то другому.
Спасибо, вкралась ошибка. В качестве мьютекса в данном случае правильнее и проще всего использовать синглтон, который и реализует этот метод. То есть @synchronized(self)
А, потому что нужен не только тупой матчинг, но и примерный.
Совершенно верно. Кроме того, работа с массивом в памяти оказалась быстрее. В массиве около 2000 объектов, каждый из которых может иметь также альтернативные названия.
Не могли бы вы поделиться какими-то, хотя бы общими, деталяи взаимодействия приложения с сервером данных?

Интересует схема взаимодейтсвия: какое-то API? Как идентфицируются отдельные клиенты (если идентифицируются?

Как решается вопрос нагрузок? Велики ли они?
Никакой особой уличной магии здесь нет. Приложение работает с сервером по HTTP протоколу, отправляя POST и GET запросы, и получая ответы в формате JSON.
Не совсем понял, что имелось в виду под идентификацией. Для сбора анонимной статистики поисков и продаж пользователям присваивается маркер, который хранится на сервере в связке с данными о типе устройства и дате установки.
Нагрузки, конечно, велики, но решение этого вопроса — отдельная история, достойная отдельной статьи.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий