Я создаю приложение для iPhone, которое связывает много с моим веб-сервером.Связь осуществляется с использованием JSON.Теперь мне было интересно, как лучше всего справиться с этим.В настоящее время я начинаю третью попытку получить этот код как можно лучше, но я все еще не совсем уверен.
Для первой попытки я попытался настроить нормальный класс с обычным свойством делегата (используется дляскажите классу, куда должны обращаться обратные вызовы, как только запрос будет выполнен).Этот метод потерпел неудачу из-за проблем с созданием экземпляра класса, установкой делегата (объекта, отвечающего за обратные вызовы), вызовом метода и последующей его очисткой.Иногда методы класса необходимо объединить в цепочку, чтобы получить все данные, которые мне нужны для определенных страниц в моем приложении, и повторное создание экземпляра класса приводит к большому количеству проблем с памятью и повторному использованию объекта (службы) в событии сцепления, заставил меня предоставить ссылку на текущий объект для всех моих методов обратного вызова ... Позвольте мне сказать, это не было идеальным.
Моя вторая попытка состояла в том, чтобы сделать класс Singleton, где для каждого метода яуказано, какой делегат должен получать обратные вызовы.Это вызвало пару неприятных изменений кода (например, где-то хранится объект делегата, который может быть получен после выполнения запроса).При использовании Singleton методы сцепления были намного проще, но почему-то у меня возникает ощущение, что я полностью этим злоупотребляю.
В классе есть от 25 до 35 методов, которые могут иметь 2 результата: либо он работает, либо онне удалось (с определенным кодом ошибки и сообщением).Итак, мы говорим о 25 - 35 * 2 методах обратного вызова, которые нужно вызывать.
Поэтому я не прошу никаких примеров кода, но мне было интересно, могут ли люди дать мне несколько новых идей о том, как решитьэто.