带有URL的简单Swift文件下载

Gio*_*Gio 5 macos xcode swift

因此,我将URL作为字符串(在本例中为JPG,但如果可能的话,想要任何文件类型的通用步骤),并且我将文件路径作为字符串保存在文件中。

什么是实现此目标最快的方法?

请记住,这是针对OSX命令行应用程序的。我尝试了一些在这里找到的示例代码,主要使用UIImage,但出现错误:“使用未解决的标识符”,添加“导入UIKit”后得到错误:“无此类模块”。请帮忙!

import Foundation

let myURLstring = "http://www.safety.vanderbilt.edu/images/staff/Bob-Wheaton.jpg"
let myFilePathString = "/Volumes/HD/Staff Pictures/Bob-VEHS.jpg"
Run Code Online (Sandbox Code Playgroud)

--->以上是原始问题<---

--->下面是新的改进代码:工作<---

import Foundation

let myURLstring = "http://www.safety.vanderbilt.edu/images/staff/Bob-Wheaton.jpg"
let myFilePathString = "/Volumes/HD/Staff Pictures/Bob-VEHS.jpg"

let url = NSURL(string: myURLstring)
let imageDataFromURL = NSData(contentsOfURL: url)

let fileManager = NSFileManager.defaultManager()
fileManager.createFileAtPath(myFilePathString, contents: imageDataFromURL, attributes: nil)
Run Code Online (Sandbox Code Playgroud)

Nat*_*ook 5

如果你正在编写OS X,你将使用NSImage替代UIImage。你需import Cocoa要这样做 - UIKit 适用于 iOS,Cocoa 适用于 Mac。

NSData有一个带 的初始化程序,NSURL另一个带文件路径的初始化程序,因此您可以以任何一种方式加载数据。

if let url = NSURL(string: myURLstring) {
    let imageDataFromURL = NSData(contentsOfURL: url)
}

let imageDataFromFile = NSData(contentsOfFile: myFilePathString)
Run Code Online (Sandbox Code Playgroud)