現在、ASIHTTPRequestとSBJsonを使用したプロジェクトをRestKitに移行しています。
以前の実装では、NSOperationを使用してHTTPリクエストを作成し、JSONオブジェクトを解析して、CoreDataAPIに必要な呼び出しを行いました。
私はこれを次のようにリファクタリングしました:
@implementation UpdateBeers
#pragma mark - NSOperation
- (void)main {
[[RKClient sharedClient] get:@"/beers" delegate:self];
}
- (void)request:(RKRequest*)request didLoadResponse:(RKResponse*)response {
debug(@"didLoadResponse");
}
- (void)request:(RKRequest *)request didFailLoadWithError:(NSError *)error {
debug(@"%@", error);
}
#pragma mark - Memory
- (void) dealloc {
[super dealloc];
}
@end
以下がログに表示されます
GETリクエストをURLhttp:// localhost:9091 / api/testに送信します。HTTPボディ:
問題は、サーバーがリクエストを受信しないことです。
次の行を追加します。
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.3]];
mainメソッドの最後までこの問題を解決します。
私の質問は:
ResKit API呼び出しをNSOperationとして実行する必要がありますか?そうでない場合、バックグラウンドで呼び出しを行うための代替手段は何ですか?
前もって感謝します。