为什么uploadTaskWithRequest:fromData:需要一个数据参数?

时间:2016-01-14 23:59:26

标签: ios networking nsurlsession nsurlrequest nsurlsessionuploadtask

documentation for uploadTaskWithRequest:fromData:说明了request参数:

  

忽略此请求对象中的正文流和正文数据。

为什么忽略身体数据?为什么不使用它而不是要求它通过第二个参数单独传递?

2 个答案:

答案 0 :(得分:1)

在2013年WWDC会议What's New in Foundation Networking(大约8分半钟)中,他们谈到“鼓励数据与元数据分离”,使“NSURLRequest +有效载荷”模式类似到“NSURLResponse +有效载荷”模式。

我不一定抱怨他们用NSURLSessionUploadTask做了什么,但我确实想知道他们为什么用上传任务完成它,但既没有数据也没有下载任务。

但它引起了我的猜测,可能不适合Stack Overflow。也许你可以查询Apple的development forums

答案 1 :(得分:0)

我不确定,但是通过单独传递正文数据,编译器可以确保它不是nil - 否则,该检查只能在运行时进行 - 从而防止崩溃。