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

标签 ios web-services nsnotificationcenter

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

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

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

最佳答案

在您的例子中,我使用了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];
    }


}

关于Web 服务应用程序的 iOS 应用程序架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6608595/

相关文章:

ios - UIMoviePlayerControllerDidExitFullscreenNotification NSNotification在iOs 8中不起作用

cocoa - NSUserNotificationCenter 关闭通知

ios - Objective-C解析Json并检查响应是否是对象数组中的单个对象

ios - 对于一个 View 强制方向为纵向,对于另一个 View 强制方向为纵向

.net - 使用 .net 中的服务器身份验证调用 Java Web 服务

ios - IOS/Linux 应用程序中的通信架构选择?

ios - NSNotification 监听器 iOS

ios - 同步/异步的行为是否类似于串行/并发,即它们都控制DispatchQueues还是仅执行同步/异步控制线程

iOS 如何管理需要第三方框架的不同功能

java - 有状态 Java Web 服务和 .NET 客户端