0

一旦集线器返回结果,我试图在调用时使用完成处理程序来执行某些操作。我目前使用以下行:

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

但是该块永远不会被调用。调用仍然可以正常工作,但该块永远不会被使用。关于为什么的任何建议?

4

2 回答 2

0

我发现了这个问题。在 SRHubProxy.m 中,当在 invoke 中从 SRHubProxy.m 调用方法 send 时,该行:

[_connection send:hubData];

是错的。无论您是否已声明,该块永远不会通过。我将其更改为:

[_connection send:hubData completionHandler:block];

现在它正确地通过了块并且它似乎工作。

于 2013-07-25T13:08:16.300 回答
0

我只能发现您的代码片段存在 1.5 个问题,completionHandler 返回 NSDictionary、NSArray、NSNumber 或 NSString。另外,messageParam 是数组吗?

于 2013-07-24T18:15:26.990 回答