Ios 这个复杂的会话怎么称呼?

Ios 这个复杂的会话怎么称呼?,ios,xcode,swift,Ios,Xcode,Swift,我知道这是我想要的方法,使用didfishdownloadingtourl,但是,我是swift的新手,不清楚如何调用此方法。你能给我举个例子吗?多谢各位 class DownloadDelegate : NSObject, NSURLSessionDownloadDelegate { func URLSession(session: NSURLSession, downloadTask:NSURLSessionDownloadTask, didFinis

我知道这是我想要的方法,使用
didfishdownloadingtourl
,但是,我是swift的新手,不清楚如何调用此方法。你能给我举个例子吗?多谢各位

class DownloadDelegate : NSObject, NSURLSessionDownloadDelegate {
    func URLSession(session: NSURLSession,
        downloadTask:NSURLSessionDownloadTask,
        didFinishDownloadingToURL location: NSURL) {
            println("YO")
    }
}
一个简单的例子

class DemoDownloadClass: NSObject,NSURLSessionDelegate,NSURLSessionDownloadDelegate {
var session:NSURLSession?
var downloadUrl:String
var completion:(NSURL)->()
init(url:String,completionBlock:(location:NSURL)->()){
    completion = completionBlock
    downloadUrl = url
    super.init()
    session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration(), delegate: self, delegateQueue: nil)
}
func start(){
    let request = NSURLRequest(URL: NSURL(string: downloadUrl)!);
    let downloadTask = session!.downloadTaskWithRequest(request)
    downloadTask.resume()
}
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURL location: NSURL) {
    completion(location)
}
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
    //here get progress
}
}
那怎么用呢

class DemoTableController: UIViewController{
var test:DemoDownloadClass?
override func viewDidLoad() {
    test = DemoDownloadClass(url: "yoururl", completionBlock: { (location) -> () in
        //Use location to get file,I did not handle error here.Just as an exmaple
    })
    test?.start()
}
}

嗨,Leo,我实际上创建了一个不是视图控制器的类,因为我发现组合起来很草率。假设我在编写时保留该类,并从另一个视图控制器中调用它,我将如何做到这一点?