如何知道数据是否准备就绪

时间:2012-10-30 13:01:31

标签: iphone delegates restkit

我正在使用RestKit Framework来解析来自Web服务的JSON数据。一旦我发送请求URL,数据将自动下载,并将在RestKit的一个委托方法中提供。我将此写为可重用的包装类,以便在需要的地方创建此类的实例,并仅传递URL以进行下载,其余过程将由类完成。现在,我有一个问题,实例将如何知道下载后可以使用的数据?我怎样才能实现这一目标? NSNotification或授权?任何编码示例或建议都可能有所帮助提前谢谢。

1 个答案:

答案 0 :(得分:0)

我发现在RestKit中处理回调最方便的方法是使用完成块。你可以绕过这个完成块来实现你想要做的事情。

以下是如何创建完成块并传递它的示例。

-(void)startRequest {

    RKRequestDidLoadResponseBlock block = ^(RKResponse *response) {

        //your completion code
    };

    [self sendRequestWithCompletionBlock:block];
}

-(void)sendRequestWithCompletionBlock:(RKRequestDidLoadResponseBlock)completionBlock {

    RKRequest *request = [RKRequest requestWithURL:[NSURL URLWithString:@"www.google.com"]];
    //configure request;
    request.onDidLoadResponse = completionBlock;

}