关于对 NSURLSessionTask 添加 category

本文是 https://segmentfault.com/q/1010000005624591 引申出来的一个“NSURLSessionTask 是否可以添加 category”的研究文章。

http://stackoverflow.com/questions/24448936/nsurlsessiontask-category-method-crashes-with-unrecognized-selector-sent-to-ins
提到对NSURLSessionTask添加category后,在运行时会发生

unrecognized selector sent to instance

但是根据下面的实验结果,在iPhone 6 plus + iOS 9.3 的测试环境下,是可以找到对应的实现。

Paste_Image.png
Paste_Image.png

另外,http://stackoverflow.com/a/35359533 中提到在iOS 9.2中 __NSCFLocalDataTask的继承链是__NSCFLocalDataTask: __NSCFLocalSessionTask:__NSCFURLSessionTask:NSObject.
所以,该问题应该只能在一些特殊的版本中才会发生。

根据问题截图,现在能猜测问题的另一个原因很可能是 Linker 在 处理 category 时会发生的一个隐藏bug。关于隐藏bug的讨论可以移步到
https://developer.apple.com/library/mac/qa/qa1490/_index.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,860评论 0 9
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,296评论 4 61
  • @synthesize和@dynamic分别有什么作用?@property有两个对应的词,一个是 @synthes...
    笔笔请求阅读 3,552评论 0 1
  • 中秋团聚,大家都说小月又长胖了。小月感到空气变稀薄了,比刻薄人言还切得薄。独自来到湖边透气,看着湖镜中全是自己的发...
    章鱼狗阅读 1,495评论 0 1
  • 上完PD家长课后,我把课上的作业“情绪选择轮”完善了一下,改成了一个转盘。 大妞看到后充满好奇,问我它是什么,我告...
    诗画_b772阅读 2,571评论 0 2