1

iOSアプリのネットワーク化に取り組んでいます。Web サイトで php ファイルを呼び出して、情報を取得する必要があります。このチュートリアルを使用してきましたが、現在は古く、サポートされていません。

http://www.raywenderlich.com/2965/how-to-write-an-ios-app-that-uses-a-web-service

MKNetworkKit を少し見てきましたが、それを使用する必要があると思いますが、実装方法がわかりません。

4

2 に答える 2

0

ヘルプに「NSURLConnection」と入力します。いくつかの良い例があります。

最も簡単な方法は、NSURLConnection で同期呼び出しを行うことです。

これは、サーバーが応答して閉じるまでの呼び出しをブロックします。

    NSURL *url = [NSURL URLWithString:@"http://makemyday.com"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    NSError *error;
    NSURLResponse *response;
    NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

ユーザー エクスペリエンスのより良い方法は、デリゲートを使用した非同期です。5 秒、10 秒、20 秒、60 秒のいずれかの時間を追加できるため、次の満足のいく結果が得られました。

NSURLRequest *theRequest = [NSURLRequest requestWithURL: url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:**20.0**];

NSURLDownload  *theDownload = [[NSURLDownload alloc] initWithRequest:theRequest delegate:**self**]; // NOTE THE SELF FOR THE CALLBACks

if (!theDownload) {
   //OOPS
}

失敗、成功/終了、およびファイル名に対して次のコールバック メソッドを使用する

- (void)download:(NSURLDownload *)download decideDestinationWithSuggestedFilename:(NSString *)filename;
- (void)download:(NSURLDownload *)download didFailWithError:(NSError *)error
- (void)downloadDidFinish:(NSURLDownload *)download;
- (void)download:(NSURLDownload *)download didCreateDestination:(NSString *)path
于 2013-06-21T10:24:01.997 に答える