当我们移动到另一个视图时如何停止 web 服务调用
Posted
技术标签:
【中文标题】当我们移动到另一个视图时如何停止 web 服务调用【英文标题】:How to stop the webservice call when we move to another view 【发布时间】:2014-10-20 05:26:58 【问题描述】:我正在做一个应用程序。在其中,我为每个视图做了 Web 服务部分。因此,当我在未完成我们服务的当前视图的情况下移动到另一个视图时,我需要停止当前视图中的 Web 服务调用。
请告诉我该怎么做。我启动服务的示例代码如下:
NSMutableURLRequest *request=[[NSMutableURLRequest alloc]init];
request=[self GetRequest];
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:nil delegateQueue:nil];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
jsonArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
. . .
【问题讨论】:
只要让它的对象“任务”为零,这样当你从一个视图移动到另一个视图时它就会释放它。我也看不到停止任务的任何好处。相反,当用户进行服务调用时,您可以显示活动指示器并防止用户从一个视图跳转到另一个视图。 你为什么要放点? 【参考方案1】:-(void)viewWillDisappear:(BOOL)animated
[task cancel];
并使用@property(nonatomic,retain)NSURLSessionTask *task;
【讨论】:
以上是关于当我们移动到另一个视图时如何停止 web 服务调用的主要内容,如果未能解决你的问题,请参考以下文章
当我离开我的应用程序时如何停止 MediaPlayer,而不是当我移动到另一个 Activity 时(Android Studio)
如何让 avaudioplayer 在点击新闻歌曲时停止播放上一首歌曲?