同步方法 - 目标 C



I use the reskit to comsume webservice我有以下代码:

第一行:从 Web 服务获取令牌

   tokenID = [self getTokenID]; 

第二行从同一 Web 服务获取 JSON

[self sendRequest:tokenID];

但是当执行程序时.. 令牌 ID 还没有准备好第二行...然后我收到 401 错误(未经授权)

是否可以同步两种方法?例如:

当"getTokenID"方法完成后,执行第二个方法"sendRequest:tokenID"

问候

我认为您正在getTokenID中使用异步调用当我查看 Restkit 的文档时,您的代码中应该有这样的东西:

[operation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation,     RKMappingResult *result) {
 ** CODE TO EXECUTE AFTER THE REQUEST IS FINISHED **
} failure:nil];

在那里,在完成块中,您可以从结果中获取令牌并执行您的

[self sendRequest:tokenID];

抱歉,我太模糊了,但我需要在getTokenID中查看您的代码才能给您更好的答案。

我认为[self getTokenID]不进行网络服务调用。我认为您没有显示的其他一些代码正在执行请求。执行请求时,它可以是异步的。在这种情况下,令牌 ID 可能尚未准备就绪。

所以我的建议是:寻找正在执行请求的代码,并找到一种方法来挂钩到它,以便在请求完成时收到通知。它可以是委托或块的形式。

相关内容

  • 没有找到相关文章

最新更新