7

私はASIHttpRequestでブロックサポートを広範囲に使用してきましたが、デリゲートが別の関数をコールバックするよりもはるかに洗練された非同期リクエストのコーディング方法であることがわかりました。

クイックリファレンスのサンプルコードを次に示します。

   __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
   [request setCompletionBlock:^{
      NSString *responseString = [request responseString];
   }];
   [request startAsynchronous];

Restkitを使い始めたいのですが、ブロックでもRestkitを使えるようにする必要があります。

ここでラッパーを見たことがありますRestkitBlockWrapperですが、そのラッパーが本番環境でうまく機能するかどうか、そして誰かが以前にそれを広範囲に使用したことがあるかどうかを確認したいと思います

4

4 に答える 4

8

RestKit Blockラッパーはまだ使用していませんが、まもなく使用します。私は実際にアプリからASIHTTPRequestを削除し、RestKitに置き換えています。悪いからではなく、ASIHTTP *は非常に安定していますが、進化していません。RestKitのような他の多くのライブラリはNSURLConnectionをラップしているため、Appleの継続的な拡張機能のメリットを享受できますが、ASIHTTP*はCFNetworkを使用します。Appleは、既存のCore Foundationクラス(CFNetworkなど)の改善に多くの努力を費やしていません。また、ASIHTTP *はCFに依存しているため、ARCが利用可能になったときに移行するのは大変な苦痛になります。私はできるだけ早くARCのメリットを享受したくありません。

于 2011-06-26T01:10:27.957 に答える
7

RKRequestおよびRKObjectLoaderのすべての基本的なデリゲートタスクのブロックサポートは、0.9.4で提供される予定です。

于 2011-08-29T12:24:47.083 に答える
3

昨日、Blakeはオブジェクトマッパーのブロックの使用を特徴とするverson 0.9.3をリリースしました(他のメソッドはすでにブロックの準備ができていました)。新機能を確認する必要があります。

于 2011-08-03T14:41:05.903 に答える
1

ブロックでRestKitを使用するための簡単なコードサンプルとして、このスニペットをhttp://kalapun.com/blog/2012/05/17/how-i-restkit/から派生させました。

[[RKClient sharedClient] get:@"/fooBar" usingBlock:^(RKRequest *request) {

    request.onDidLoadResponse = ^(RKResponse *response) {

        NSLog(@"Retrieved XML: %@", [response bodyAsString]); 
    };
}];
于 2012-07-07T22:54:17.923 に答える