Transporter

Swift 工具库
授权协议 MIT
开发语言 Swift
所属分类 程序开发、 其他开发相关
软件类型 开源软件
地区 不详
投 递 者 邬令
操作系统 OS X
开源组织
适用人群 未知
 软件概览

Transporter 是一个方便上传和下载的库。

特性

  • 支持并发或者顺序上传或者下载多个文件

  • 支持后台上传和下载

  • 支持进程跟踪 (单个任务或者任务组)

  • 支持重置,停止,取消,重试任务

  • header 可配置

  • 请求参数可配置

快速示例

let path = NSBundle.mainBundle().pathForResource("bigfile", ofType: "zip")let fileUrl = NSURL(fileURLWithPath: path!)!let task = UploadTask(url: "http://server.com", file: fileUrl)    .progress { sent, total in
        let per = Double(sent) / Double(total)
        println("uploading: \(per)")
    }    .completed { response, json, error in
        println("completed")
    }


 Transporter.add(task1 <--> task2 <--> task3)                     // concurrent tasks
            .progress { bytes, total in
                let per = Double(bytes) / Double(total)
                println("concurrent tasks: \(per)")
            }            .completed { alltasks in
                println("task1, task2, task3: completed")
            }            .add(task4 --> task5 --> task6)                       // serial tasks 
            .progress { bytes, total in
                println("serial tasks")
            }            .resume()

用法

// downloading tasklet task = DownloadTask(url: downloadUrl, destination: des)    .progress { bytes, total in
        let per = Double(bytes) / Double(total)
        println("downloading: \(per)")
    }    .completed { response, _, error in
        println("completed")
    }// uploading task// upload types: File, Data, Streamlet task = UploadTask(url: "http://server.com", data: uploadData)    .progress { sent, total in
        let per = Double(sent) / Double(total)
        println("uploading: \(per)")
    }    .completed { response, json, error in
        println("completed")
    }// tasktask.headers = ["key": "value"]
task.params = ["key": "value"]
task.pause()
task.cancel()
task.retry// background handling// add the following method in the app delegatefunc application(application: UIApplication, handleEventsForBackgroundURLSession identifier: String, completionHandler: () -> Void) {
    Transporter.handleEventsForBackgroundURLSection(identifier, completionHandler: completionHandler)
}// Transporter configurationsTransporter.headers = [key: value]
Transporter.timeoutIntervalForRequest = 30.0Transporter.timeoutIntervalForResource = 24 * 60 * 60.0Transporter.HTTPMaximumconnectionsPerHost = 5
  • 利用运输工具可以对很多物流设施进行建模,运输工具可以在轨道上进行正向、反向行驶,运输时间可以根据轨道长度和运输工具的速度进行计算。同一轨道上的运输工具不能“超车”,换句话说,当速度较快的运输工具前方有速度较慢的交通工具时,速度较快的运输工具将自动降低速度至与前方运输工具同速,当前方运输工具“消失”时,其将自动加速至原来的速度。 详见公众号(ronnietalk)!

  • 以前Transporter上传包特别的快,前几天用清理垃圾软件结果Transporter就上传不上去了,网上找了好长时间才知道:Transporter 安装上第一次打开后,会在硬盘 ~/Library/Caches/com.apple.amp.itmstransporter 目录下下载一些缓存文件,这些缓存文件没有下载完,或者下载失败没下载完时,使用Transporter去提交应用这个页面就会卡住

  • 定义 里式替换原则的英文翻译是:Liskov Substitution Principle,缩写为 LSP。 子类对象(object of subtype/derived class)能够替换程序(program)中父类对象(object of base/parent class)出现的任何地方,并且保证原来程序的逻辑行为(behavior)不变及正确性不被破坏。 这么说还是比较抽象,我们通过一个

 相关资料
  • Illustrator 提供了很多用于创建和处理图稿的工具。这些工具库为每个工具都提供了快速的可视化概要。 工作区 选择工具库 Illustrator 提供以下选择工具: 选择工具 (V) 可用来选择整个对象。 直接选择工具 (A) 可用来选择魔棒工具 (Y) 可用来选择具有对象内的点或路径段。相似属性的对象。 编组选择工具可用来选择组内的对象或组内的组。 套索工具 (Q) 可用来选择对象内的点或

  • 龙虎牛熊多头合约池 接口名称 long_pool 接口描述 龙虎牛熊多头合约池接口 请求参数 参数名 说明 举例 date 查询日期 2018-08-08 返回参数 参数名 类型 说明 symbol string 品种编码 code string 合约代号 示例代码 from akshare import pro_api pro = pro_api(token="在此处输入您的token,可以通过

  • 工具 客户端 客户端分为三种:完整客户端、轻量级客户端和在线客户端。 完整客户端:存储所有的交易历史记录,功能完备; 轻量级客户端:不保存交易副本,交易需要向别人查询; 在线客户端:通过网页模式来浏览第三方服务器提供的服务。 钱包 矿机 专门为“挖矿”设计的硬件,包括基于 GPU 和 ASIC 的芯片。 脚本 比特币交易支持一种比较简单的脚本语言(类 Forth 的栈脚本语言),可以写入 UTXO

  • 工具 以下的一些工具可以帮助你自动检查项目中的 Ruby 代码是否符合这份指南。 RuboCop [RuboCop][] 是一个基于本指南的 Ruby 代码风格检查工具。RuboCop 涵盖了本指南相当大的部分,其同时支持 MRI 1.9 和 MRI 2.0,且与 Emacs 整合良好。 RubyMine RubyMine 的代码检查部分基于本指南。

  • 10.7. 工具 本章剩下的部分将讨论Go语言工具箱的具体功能,包括如何下载、格式化、构建、测试和安装Go语言编写的程序。 Go语言的工具箱集合了一系列的功能的命令集。它可以看作是一个包管理器(类似于Linux中的apt和rpm工具),用于包的查询、计算包的依赖关系、从远程版本控制系统下载它们等任务。它也是一个构建系统,计算文件的依赖关系,然后调用编译器、汇编器和链接器构建程序,虽然它故意被设计成

  • vse命令行工具 yocode扩展生成器 范例

  • 提供各种支付需要的配置生成方法。 配置 <?php use EasyWeChat\Pay\Application; $config = [...]; $app = new Application($config); $utils = $app->getUtils(); 注意 生成支付 JS 配置 有四种发起支付的方式:WeixinJSBridge, JSSDK, 小程序支付, APP We

  • CoreOS 内置了 服务发现,容器管理 工具。 服务发现 CoreOS 的第一个重要组件就是使用 etcd 来实现的服务发现。在 CoreOS 中 etcd 默认以 rkt 容器方式运行。 etcd 使用方法请查看 etcd 章节。 容器管理 第二个组件就是 Docker,它用来运行你的代码和应用。CoreOS 内置 Docker,具体使用请参考本书其他章节。