Search code examples
iosblockrestkit

Using RestKit, use block to load object, when and how to cancel the request?


[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"app/site_pattern" usingBlock:^(RKObjectLoader* loader) {
    [loader setObjectMapping:clientMappring];
    loader.delegate = self;
    shopLoader = loader;
}];

Above, I use the block function to load some data in my app, but when I pop this viewcontroller, I don't know when and how to cancel this request .

Any idea?

- (void)showSelectShop
{

    SelectShopViewController * selectShopViewController = [[SelectShopViewController alloc] initWithNibName:@"SelectShopViewController" bundle:nil];
    [self.navigationController pushViewController:selectShopViewController animated:YES];
}

More:

I try to cancel it in the viewDidUnload

- (void)viewDidUnload
{
    [super viewDidUnload];
    [shopLoader cancel];
}

But it didn't work. I still getting error.


Solution

  • I solved this by adding

    - (void)viewWillDisappear:(BOOL)animated
    {
        [shopLoader cancel];
        shopLoader.delegate = nil;
        shopLoader = nil;
    }
    

    I still want to know if I don't want to cancel this request in viewWillDisappear, which function do those lines should be written in?