iOS url response bool



net web服务,返回true或false,但我不知道如何在我的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
}
}

感谢您的帮助

您应该实现connection:didReceiveData:来获取和保存NSData和– connectionDidFinishLoading:,在那里您可以将接收到的数据解释为BOOL。

基本上didReceiveResponse:只是让你知道服务器对你请求的响应,而不是整个答案。

您应该检查响应的HTTP状态代码,例如:

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

成功请求的状态代码使用范围[200.299].

例如,成功的GET请求将用200(OK)表示。

成功的POST请求将显示201(已创建)

成功的DELET请求将显示204(无内容)。。

另请参阅:wiki HTTP状态代码列表。

此外,您需要检查服务器发送给您的数据类型:

NSString* mimeType = [response MIMEType];

mime类型已由服务器在响应的Content-Type标头中发送。

另请参阅wiki MIME互联网媒体类型

你实际得到的完全取决于你的请求和服务器。

例如,服务器可能总是以JSON作为内容类型进行应答。在这种情况下,响应的报头Content-Type将是application/json。表示答案的实际JSON也将与状态代码相关。

为了向用户提供一个良好的可读消息,您需要咨询web服务API并弄清楚如何指定它。某些web服务API可能具有相当大的API。不幸的是,有些web服务缺乏全面的文档。

相关内容

  • 没有找到相关文章

最新更新