ios 日常总结

一 : Delegate weak/strong

self.tableview = [UITableview new]; //strong 控制器对列表视图强引用
self.tableview.delegate = self;  //代理对控制器强应用
strong 导致循环引用 so 用weak 

NSUrlSession delegate

//创建session 设置代理 self对session强引用
NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration] delegate:self delegateQueue:[NSOperationQueue mainQueue]];

self.session.delegate = self;
//亲测 请求任务进行中 关闭控制器,控制器不销毁
1 这也是没有办法的事, 因为请求任务进行中,如果用weak ,关闭控制器,session销毁 请求任务销毁,请求任务终端
2 请求结束 delegate=nil, 没有控制器在销毁.
ps: CoreAnimation/NSUrlsession的强代理都 加载动画/网络请求都是异步中执行的,防止在任务进行中,对象销毁,导致数据丢失,so在任务结束后,手动销毁对象.. 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,174评论 1 32
  • NSURLSession 使用步骤使用NSURLSession对象创建Task,然后执行Task -(void)g...
    BEYOND黄阅读 943评论 0 0
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,783评论 2 7
  • iOS网络架构讨论梳理整理中。。。 其实如果没有APIManager这一层是没法使用delegate的,毕竟多个单...
    yhtang阅读 5,333评论 1 23
  • 面向对象的三大特征,并作简单的介绍。 面向对象的三个基本特征是:封装、继承、多态。 1.封装是面向对象的特征之一,...
    xiny123阅读 1,525评论 0 6