gpt4 book ai didi

ios - 如果我在一个 View Controller 中调用异步操作并且用户移动到下一个 View Controller ,异步调用是否完成

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:02:43 24 4
gpt4 key购买 nike

在我的第一个屏幕上,我想加载和缓存几个 JSON 调用和图像调用。如果用户在完成之前单击第二个 View Controller ,这些电话会被取消还是会结束?

AFNetworking 中的示例调用:

  AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
NSString *arcURL = [NSString stringWithFormat:@"%@/arc/v1/api/locations/%i/mobile_home",MYHost(), locationID];
[manager GET:arcURL parameters:nil success:^(NSURLSessionDataTask *operation, id responseObject) {

// on return will get written to a cache

SDWebImage 中的示例调用

    NSURL *imageURL=[[NSURL alloc] initWithString:[mi objectForKey:@"instore_image_url"]];
SDWebImageManager *manager = [SDWebImageManager sharedManager];
[manager downloadWithURL:imageURL
options:0
progress:^(NSInteger receivedSize, NSInteger expectedSize)
{
// progression tracking code
}
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished)
{
if (image)
{
// image downloaded - just writing to cache
}
}];
}

最佳答案

AFHTTPSessionManagerGETPOST 等方法返回NSURLSessionTask 引用。如果您离开发起请求的 Controller ,请求将继续,除非您 (a) 保存对该 NSURLSessionTask 对象的引用; (b) 显式调用该对象的 cancel 方法。

SDWebImage 方法 downloadWithURL 同样返回一个引用(在本例中,是一个符合 SDWebImageOperation 协议(protocol)的对象),您可以取消如果你想要。

关于ios - 如果我在一个 View Controller 中调用异步操作并且用户移动到下一个 View Controller ,异步调用是否完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27513739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com