1

我正在使用 restkit 发送请求、响应映射等。但有时,我会多次发送来自不同屏幕的相同请求。所以它被添加到请求队列中。但是如果请求已经存在,我不想将请求添加到请求队列中。我该如何检查。

我正在调用这样的函数

//这里需要检查下面的url是否在RKRequestQueue中。如果它不存在,则调用以下方法,

[self getDataFromServer];


- (void)getDataFromServer{
    RKObjectManager *manager = [[RestKit sharedDataManager] objectManager];

        [manager loadObjectsAtResourcePath:@"/getData" usingBlock:^(RKObjectLoader *loader) {
            [RKClient sharedClient].requestQueue.showsNetworkActivityIndicatorWhenBusy = YES;
            loader.method = RKRequestMethodPOST;
            loader.params = inputData;
            loader.onDidFailWithError = ^(NSError *error) {
     };

            loader.onDidLoadObjects = ^(NSArray *objects) {
    };
}

任何帮助表示赞赏。

4

1 回答 1

0

有趣的问题,我很确定您实际上可以在 RKRequestQueue 中检查您的请求的 URL,但我无法在RKRequestQueue 参考中找到任何有用的东西。相反,我找到了containsRequest:方法,但这只会比较 RKRequest 对象,而不是实际的 URL。

我想最简单的做法是创建某种代理来管理您的网络活动,实现requestQueue:didSendRequest:委托方法并监控当前正在处理的 URL。

于 2013-02-19T10:34:47.727 回答