我刚刚开始学习来自Android的iOS的Apple Swift编程。我现在基本上可以阅读和操作swift代码,还学习了iOS
swift编程中使用的一些通用类,但是仍然对语法和所有内容感到困惑。
我正在尝试下载文件。就像,让我们说来自这个网址
var url = "http://www.mywebsite.com/myfile.pdf"
在一个按钮中单击。也许也有视觉进步
通过在stackoverflow中搜索,我偶然发现了Alamofire。我可以尝试一下,但是我不确定这是否是最好的方法。
因此,我想问一下实现目标的方式和方式(iOS7和iOS8)是什么。此外,利弊也很棒!
没有Alamofire的示例下载程序类:
class Downloader {
class func load(URL: NSURL) {
let sessionConfig = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: sessionConfig, delegate: nil, delegateQueue: nil)
let request = NSMutableURLRequest(URL: URL)
request.HTTPMethod = "GET"
let task = session.dataTaskWithRequest(request, completionHandler: { (data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in
if (error == nil) {
// Success
let statusCode = (response as NSHTTPURLResponse).statusCode
println("Success: \(statusCode)")
// This is your file-variable:
// data
}
else {
// Failure
println("Failure: %@", error.localizedDescription);
}
})
task.resume()
}
}
这是在您自己的代码中使用它的方法:
class Foo {
func bar() {
if var URL = NSURL(string: "http://www.mywebsite.com/myfile.pdf") {
Downloader.load(URL)
}
}
}
Swift 3版本
另请注意,将大文件下载到磁盘上,而不是在内存中。参见`downloadTask:
class Downloader {
class func load(url: URL, to localUrl: URL, completion: @escaping () -> ()) {
let sessionConfig = URLSessionConfiguration.default
let session = URLSession(configuration: sessionConfig)
let request = try! URLRequest(url: url, method: .get)
let task = session.downloadTask(with: request) { (tempLocalUrl, response, error) in
if let tempLocalUrl = tempLocalUrl, error == nil {
// Success
if let statusCode = (response as? HTTPURLResponse)?.statusCode {
print("Success: \(statusCode)")
}
do {
try FileManager.default.copyItem(at: tempLocalUrl, to: localUrl)
completion()
} catch (let writeError) {
print("error writing file \(localUrl) : \(writeError)")
}
} else {
print("Failure: %@", error?.localizedDescription);
}
}
task.resume()
}
}
本文向大家介绍linux下如何实现快速拷贝大文件,包括了linux下如何实现快速拷贝大文件的使用技巧和注意事项,需要的朋友参考一下 拷贝数据 远程拷贝数据的时候,我们一般使用rsync命令,但是如果拷贝大量的小文件,会导致rsync的传输速度慢。使用tar pv lz4打包压缩传输,可以解决这问题,使用这个方法,等同于使用scp、rsync传输大文件。 实测,使用rsync传输1200G,单个文件
问题内容: 我正在尝试从网站获取JSON并进行解析,然后再将其放入iOS视图中。 这是我的代码; 这是JSON的链接; 我在这里做错了什么? 问题答案: 这两个功能对我有用:
问题内容: 我正在导入一个 长为1700万数字 的大型文本文件,并且正在使用以下代码: 它会立即加载文件并打印出来,但是要花费很长时间(大约一个小时)才能将转换为,我可以做些什么来加快速度并快速加载数字吗? 问题答案: 作为一种优化,因为是,你可以把它保存到一个 二进制文件 一次,并且加速您的装载增色不少。 加载序列化的对象应该比每次解析一个巨大的字符串都要 快 。 使用以节省你的大整数读回。
问题内容: 我有一个JSON文件,想解析和使用表视图中的对象列表。任何人都可以共享代码以快速解析JSON文件。 问题答案: 再简单不过了: 话虽如此,我强烈建议您使用 Swift 4中引入的Codable API 。
问题内容: 这个问题已经在这里有了答案 : 如何在Python中复制文件? (17个答案) 5年前关闭。 使用Windows File Explorer或Mac’s Finder将文件复制到常规右键单击复制>右键单击粘贴的时间至少要长3倍。有没有比Python更快的替代方法?可以采取什么措施来加快文件复制过程?(文件目标位于网络驱动器上……如果有任何区别……)。 编辑后: 这是我最终得到的结果:
我正在开发一个应用程序(为Android和iPhone)。实际上,在我的应用程序中,我必须在后台下载很多视频(使用后台服务,IntentService),以及我有一个屏幕显示下载的进度(使用一个活动,有UI显示下载进度)。但我不知道为什么下载速度比iPhone中的相同应用程序的下载速度要慢得多。 此外,每次下载视频后,我会在数据库中标记该视频为下载。所有视频都会发生这种情况。 数据库调用是Andr