iOS URL ответ bool

Чистый веб-сервис, который возвращает истину или ложь, но я не знаю, как поймать этот ответ в моем приложении IOS.

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

Для тех из вас, кто знает C#, это метод bool, просто попробуйте catch и верните true или false.

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    //What to write here to catch my true or false
    if(response) {
       //true
    } else {
       //false
    }
}

Спасибо за помощь

2 ответа

Решение

Вы должны реализоватьconnection:didReceiveData: чтобы получить и сохранить NSData и – connectionDidFinishLoading: где вы можете интерпретировать полученные данные как BOOL.

в принципе didReceiveResponse: узнавать только об ответе сервера на ваш запрос, а не весь ответ.

Вы должны проверить HTTP-код ответа, например:

NSInteger statusCode = [(NSHTTPURLResponse*)response statusCode];

Код состояния для успешного запроса использует диапазон [200..299].

Например, успешный запрос GET будет указан с помощью 200 (ОК).

Успешный запрос POST будет указан с 201 (Создано).

Успешный запрос DELET будет указан с 204 (без содержимого).

Смотрите также: Вики Список кодов состояния HTTP.

Кроме того, вам необходимо проверить тип данных, отправленных вам сервером:

NSString* mimeType = [response MIMEType];

Тип MIME был отправлен сервером в Content-Type заголовок ответа.

Смотрите также вики MIME Тип интернет-медиа

То, что вы на самом деле получите полностью, зависит от вашего запроса и сервера.

Например, сервер всегда может ответить с JSON в качестве типа контента. В этом случае заголовок Content-Type ответа будет application/json, Фактический JSON, который представляет ответ, также будет связан с кодом состояния.

Чтобы предоставить пользователю удобное для чтения сообщение, вам нужно обратиться к API веб-службы и выяснить, как оно указано. Некоторые API веб-сервисов могут иметь довольно большой API. К сожалению, некоторые веб-сервисы не имеют исчерпывающей документации.

Другие вопросы по тегам