用于Web服务应用程序的iOS应用程序架构

时间:2011-07-07 09:41:11

标签: ios web-services nsnotificationcenter

我正在开发一个客户端并与Web服务通信的应用程序。我正在检查与Reachability课程的互联网连接。如果它可用,我设置一个bool为YES,默认为NO。

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

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

1 个答案:

答案 0 :(得分: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];
    }


}