Большая часть моего опыта программирования связана с Shell и Python. Я новичок в Swift, например, «3 дня назад». Я просто не могу понять, почему didFinishDownloadtingTo не вызывается, когда моя задача загрузки завершается. Вот мой файл AppDelegate.swift:
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate, URLSessionDelegate, URLSessionDownloadDelegate {
@IBOutlet weak var window: NSWindow!
@IBOutlet var progressind: NSProgressIndicator!
@IBOutlet var outputtext: NSTextField!
func applicationDidFinishLaunching(_ aNotification: Notification) {
// Insert code here to initialize your application
let requestURL: URL = URL(string: "https://www.apple.com")!
let urlRequest: URLRequest = URLRequest(url: requestURL as URL)
let session = URLSession.shared
let downloads = session.downloadTask(with: urlRequest)
print("starting download...")
downloads.resume()
}
func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}
func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL){
print("download finished!")
}
}
Я использую Swift 3, и я просто не могу найти достаточно документации, чтобы понять это самостоятельно.
Я немного сошел с ума, объявляя классы, пытаясь понять, почему это работает неправильно, поэтому я уверен, что там также есть некоторые ошибки.
Похоже, что файл успешно загружен. Я пробовал с несколькими URL-адресами. Разделы «Диск» и «Сеть» в меню отладки кажутся совместимыми с загрузкой файла такого размера по каждому URL-адресу, который я тестировал.