1

我正在开发一个应用程序,它是一个客户端并与 Web 服务进行通信。我正在使用可达性类检查互联网连接。如果它可用,我将 bool 设置为 YES,默认设置为 NO。

在我的应用程序委托的didFinishLaunchingWithOptions方法中,我抓取了一个单例对象并将其添加以观察网络状态变化,以便它可以快速将 bool 变为 YES。

当我第一次viewDidLoad尝试getToken从 Web 服务时,我检查是否internetConnection可用并且它总是返回 NO,因为我的对象在我尝试获取令牌后收到通知。我认为使用延迟表演者不是一个好主意,所以我该如何处理这种情况。预先感谢..

4

1 回答 1

1

在你的情况下,我已经使用ASIHTTPRequest库来检查请求是否到达服务器。ASIHTTPRequest 提供了很多方法,包括这个:

-(void)requestFinished:(ASIHTTPRequest *)request

要测试连接,您可以执行以下操作:

-(void)requestFinished:(ASIHTTPRequest *)request{


if(request.responseStatusCode==200)
    {
          //successfull connection, do what you need
        }
else {
      //failed request sent, display the correspondant error

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Your app name" 
                                                        message:@"Unexpected error" 
                                                       delegate:nil 
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
        [alert show];
        [alert release];
    }


}
于 2011-07-07T10:02:12.353 回答