RDS远程数据解决方案
示例
要运行示例项目,请克隆仓库,然后从示例目录中首先运行 pod install
要求
安装
RDS远程数据解决方案通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile中
pod "RDSRemoteDataSolutions"
提交和提交站
基本思想是提交(Submission)和提交站(SubmissionStation)。
提交是一个封装要提交给URL API的数据的对象。提交被RDSSubmissionInterface协议定义,因此任何对象都可以作为提交使用。
提交站通过-wsjsubmitSubmission:withCompletionBlock:方法接收提交,并接受任何符合RDSSubmissionInterface协议的对象。提交站会尝试解包提交对象中的数据,并以相对标准的方式发送适当的数据到在destinationURL中指定的目标URL - 默认使用NSURLSession等。一旦处理完成,completionBlock将被调用,并通过SubmissionStation的客户端提供标准的NSData、NSURLResponse和NSError对象。
使提交站出色的是,当提交由于任何原因(例如网络连接失败)而未能发送时会发生什么。在这种情况下,提交站仍然会调用completionBlock并向客户端提供NSError等,但它还会存档提交对象并启动一个调度器对象,该对象将定期尝试再次提交数据,直到成功为止。
网络连接器
另一个酷特性是RDSNetworkConnectorInterface协议。该协议定义了一个对象,它将负责将数据最终发送到URL。默认情况下,RDS使用一个RDSNetworkConnector对象,该对象使用标准的NSURLSession基于块的API来发送数据,但如果你更喜欢使用类似AFNetworking之类的库,你可以创建一个符合RDSNetworkConnectorInterface的类,并在创建RDSSubmissionStation实例时使用它作为参数。
作者
Christian Fox,[email protected]
许可证
RDSRemoteDataSolutions可在MIT许可证下获得。有关更多信息,请参阅LICENSE文件。