uploadTaskWithRequest:fromData:
的文档说明了它的request
参数:
此请求对象中的正文流和正文数据将被忽略。
为什么身体数据被忽略?为什么不使用它,而不是要求它通过第二个参数单独传递?
在 2013 年 WWDC 会议 基础网络的新内容(大约 8 分半钟)中,他们谈到"鼓励将数据与元数据分离",使"NSURLRequest
+ 有效载荷"模式类似于"NSURLResponse
+ 有效载荷"模式。
我不一定对他们对NSURLSessionUploadTask
所做的工作有任何抱怨,但我确实想知道为什么他们使用上传任务来完成,但既没有数据也没有下载任务。
但我觉得这是一个猜测问题,可能不适合Stack Overflow。也许你可以在苹果的开发论坛上查询。
不确定,但是通过单独传递正文数据,编译器可以确保它没有nil
- 否则,该检查只能在运行时完成 - 从而防止崩溃。