我试图了解如何在我的场景中正确使用NSURLSession,阅读规范,需要更多说明...... https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/URLLoadingSystem/Articles/UsingNSURLSession.html#//apple_ref/doc/uid/TP40013509-SW1
我的服务器API非常简单。我使用protobufs进行数据通信,消息有效负载非常小,转换速度非常快。从数据的角度来看,它只是传输简单的二进制数据。 服务器仅支持POST请求并使用数据进行响应。
所以,它是这样的: - 具有自定义标头和二进制负载的POST请求 - 服务器响应消息和二进制有效负载(响应也可能包括自定义标头)
从我在文档数据中看到的任务正是我需要的,但他们说
数据任务使用NSData对象发送和接收数据。数据任务是 用于从您的应用程序到的简短,通常是交互式请求 服务器。数据任务可以一次一个地将数据返回到您的应用程序 收到每个数据后,或者一次性通过一个数据 完成处理程序因为数据任务不会将数据存储到 文件,后台会话不支持
所以,我离开了下载和上传任务,然后进入文件。我如何实现我的需求?听起来我应该使用上传任务,但我会得到回复数据吗?
答案 0 :(得分:0)
确定。我决定不删除我的问题以防其他人需要这些信息。 相同的文档文章说:
使用下载任务上传文件上传文件的正文内容 下载任务,您的应用程序必须提供NSData对象或正文 stream作为NSURLRequest对象的一部分,在创建时提供 下载请求。
如果您使用流提供数据,则您的应用必须提供 URLSession:task:needNewBodyStream:委托方法提供新的 身份验证失败时的正文流。这个方法是 在“使用流上传主体内容”中进一步描述。
下载任务的行为就像数据任务一样,除了方式 将数据返回到您的应用程序。