대부분의 프로그래밍 경험은 Shell과 Python에 있습니다. 나는 "3 일 전"처럼 새로 워진 Swift를 처음 사용합니다. 왜 내 didFinishDownloadtingTo 내 downloadTask 완료되면 호출되지 않는 알아낼 수 없습니다. 여기 내 AppDelegate.swift 파일입니다 :내 URLDownloadTask 호출이 완료되지 않은 이유는 무엇입니까?
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!")
}
}
내가 스위프트 3을 사용하고, 난 그냥 내 자신이 알아 내기에 충분한 문서를 찾을 수 없습니다.
나는 그것이 제대로 작동하지 않는 이유를 알아 내려고 노력하고있는 클래스를 선언하는 데 미친 듯이 갔다. 그래서 나는 또한 거기에 약간의 오류가 있다는 것을 확신한다.
파일을 성공적으로 다운로드 한 것으로 보입니다. 여러 URL을 사용해 보았습니다. 디버그 메뉴의 "Disk"및 "Network"섹션은 테스트 한 모든 URL에서 크기의 파일을 다운로드하는 것과 일관되게 나타납니다.
무엇을 습득하려고합니까? 그냥 목적을 테스트? 당신이 물건을 다운로드하고 싶다면 당신은 Alamofire를 살펴볼 것을 제안합니다. Cocoapods와 같은 종속성 관리자를 사용하십시오. –
정적 웹 페이지에서 파일을 가져 오려고합니다. 이것은 응용 프로그램이 시작되고 완료 될 때 한 번 나타납니다. 따라서 응용 프로그램의 초기 설치를 위해 하나의 파일을 다운로드하기 위해 전체 네트워킹 라이브러리를 다운로드하고 학습하는 것을 배우는 것은 나에게 너무 복잡해 보입니다. – Matt