SignalR-Objc调用未调用的完成处理程序

时间:2013-07-03 10:33:32

标签: objective-c signalr objective-c-blocks

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

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

但是永远不会调用该块。调用仍然可以正常工作,但块永远不会被使用。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我找到了这个问题。在SRHubProxy.m中,当在调用时从SRHubProxy.m调用方法send时,行:

[_connection send:hubData];

错了。无论你是否声明了一个块,它都不会被传递。我改成了:

[_connection send:hubData completionHandler:block];

现在正确地传递了块,它似乎有效。