3

メソッド呼び出しがあります (AFNetworking からの呼び出しです):

AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON)
                                     {
                                         NSLog(@"IP Address: %@", [JSON valueForKeyPath:@"origin"]);

                                     } failure:^(NSURLRequest *request , NSURLResponse *response , NSError *error , id JSON)
                                     {
                                         NSLog(@"Failed: %@",[error localizedDescription]);
                                     }];

そして、成功ブロックと失敗ブロックを別の変数に取り込もうとしています。これを後でメソッドに渡すことができます。しかし、ブロックを変数として宣言する方法がわかりません。私はこのようなことをしようとしています:

IDontKnowWhatKindOfDataTypeGoesHere successBlock = ^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON)
{
  NSLog(@"IP Address: %@", [JSON valueForKeyPath:@"origin"]);  
}

同様に、failureBlock についても同様です。

それで、私は次のAFJSONRequestOperationような呼び出しをしようとしています:

AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:successBlock failure:failureBlock];

しかし、successBlock と failureBlock のデータ型がどうあるべきかわかりません。

これは、私が推測する組織のためのものです。successBlock に多くのコードがあり、Xcode プッシュの自動フォーマットはすべて画面の右側にあり、まったく面倒です。したがって、それを引き出すことができれば (それは可能なはずです)、コードをより適切に整理できます。

ありがとう!

4

1 に答える 1