0

ハブが結果を返したら、呼び出し時に完了ハンドラーを使用して特定のアクションを実行しようとしています。現在、次の行を使用しています。

myHub invoke:@"stpm" withArgs:messageParam completionHandler:^(SRHubResult *hubResult) {
NSLog(@"Complete");
}

しかし、ブロックが呼び出されることはありません。呼び出しは引き続き正常に機能しますが、ブロックが使用されることはありません。理由について何か提案はありますか?

4

2 に答える 2

0

私はあなたのスニペットで 1.5 の問題しか見つけることができません.completionHandler は NSDictionary、NSArray、NSNumber、または NSString のいずれかを返します。また、messageParam は配列ですか?

于 2013-07-24T18:15:26.990 に答える
0

問題が見つかりました。メソッド send が呼び出しで SRHubProxy.m から呼び出されるときの SRHubProxy.m の行:

[_connection send:hubData];

間違っている。ブロックを宣言しているかどうかにかかわらず、ブロックが渡されることはありません。私はそれを次のように変更しました:

[_connection send:hubData completionHandler:block];

これでブロックが正しく通過し、機能しているようです。

于 2013-07-25T13:08:16.300 に答える