net web 服务返回 true 或 false,但我不知道如何在我的 IOS 应用程序中捕获该响应。

我的服务更新数据库中的数据,我知道它可以工作,数据会更新,它会捕获问题的响应,我想知道,这样我就可以告诉用户是否出现问题。

对于那些了解 c# 的人来说,它是一个 bool 方法,只需简单的 try 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];
.

成功请求的状态代码使用该范围[2009]。

例如

成功的get请求将用 200(确定)表示。

一个成功的发布请求将用 201(创建)表示。

将使用 204(无内容) ..

将指示成功的删除请求

另见:wiki http状态代码列表

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

NSString* mimeType = [response MIMEType];
.

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

另请参见wiki mime互联网媒体类型

您实际上完全取决于您的请求和服务器。

例如,服务器可以始终用JSON作为内容类型回答。在这种情况下,响应的标题生成频码将是生成的。代表答案的实际JSON也将与状态代码相关。

为了向用户提供一个很好的人类可读消息,您需要查阅Web服务API并弄清楚它的指定方式。某些Web服务API可能具有相当大的API。不幸的是,一些Web服务缺乏全面的文档。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top