2011-07-07 4 views
1

は、私がクライアントであり、Webサービスと通信しているアプリケーションを開発しています。 Reachabilityクラスのインターネット接続をチェックしています。使用可能な場合は、boolをYESに設定します。デフォルトはNOです。Webサービスアプリケーション用のiOSアプリケーションアーキテクチャ

私のアプリケーションデリゲートのdidFinishLaunchingWithOptionsメソッドでは、シングルトンオブジェクトを取得し、ネットワーク状態の変化を監視するために追加して、boolをYESにすばやく切り替えることができます。

私の最初のviewDidLoadの場合、私はinternetConnectionが利用可能であるかどうかをチェックし、トークンを取得しようとした後にオブジェクトが通知を受け取るため、常にNOを返します。私はその良いアイデアが遅れているパフォーマーを使うとは思わないので、どうすればそのような状況に対処できますか?あなたのケースで..事前に

答えて

1

をありがとう、私はチェックするASIHTTPRequestライブラリを使用しているいずれかの要求がサーバーに到達したりされませんでした。 ASIHTTPRequestはこの1つを含む、方法の多くを提供しています。このよう

-(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]; 
    } 


} 
+0

うーんありがとうこのライブラリはあまりにも到達可能性を使用しているように、それはようで、私がしようとすることをやってください。 – Haqn

+0

@Haqn、mallocの、私はビジネスロジックから、それがサービスを扱います、別々のクラスにどのようなデザインパターンを使用する必要がありますか?図へのリンクは完璧です。 – surlac

+1

@surlacは、申し訳ありません、その後半の答えになるだろうsurlac、私はしばらく離れていました。私はASIHTTPRequestライブラリを使用し、すべての接続を管理するシングルトンを作成しました。あなたはこのライブラリを使用する場合には、ネットワークのもののためのクラスを分離について考える必要はありません(もちろん、それはあなたのニーズによって異なります。)ちょうどあなたのデータのためのモーダルクラスを作成し、あなたのviewControllersでそれらを表示! :) – Haqn

関連する問題