NSURLSession 引用维护的问题

2016-09-23 17:41:02 +08:00
 firecracker2
- (void)request {
    NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
    NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:[NSOperationQueue mainQueue]];
    NSURL *URL = [NSURL URLWithString:@"http://lf.snssdk.com/neihan/service/tabs"];
    NSURLSessionDataTask *dataTask = [session dataTaskWithURL:URL];
    [dataTask resume];
}

执行了这个方法后,并没有引用维护NSURLSession对象,但为什么它还可以正常工作而不会被销毁,底层实现是怎样的呢,哪里有相关内容的介绍?

1857 次点击
所在节点    iOS
3 条回复
CDuXZMAPgHp1q9ew
2016-09-23 17:47:32 +08:00
如果人家内部实现有个单例呢? 或者有个 session pool 供重用呢?
外面没有引用不代表内部实现没有被其他地方引用吧
firecracker2
2016-09-23 17:51:46 +08:00
@wujichao 用 Allocations 看的话,一开始是没有实例的,执行一次会新增加一个实例。
DingSoung
2016-09-23 19:05:11 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/308511

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX