Vai al contenuto

Loading dialog in Swift su macOS


fermat

Messaggi raccomandati

ciao!

 

vi spiego cosa mi servirebbe ottenere: in avvio di app devo controllare l'esistenza di un file, e nel caso non esista:

  • avviare un loading dialog
  • eseguire il download del file
  • chiudere il loading

 

questo il codice del dialog:


        import Cocoa
        
        func loadigDialog(wind: NSWindow) {
            alert.messageText = "Loading..."
            alert.alertStyle = NSAlert.Style.informational
            alert.beginSheetModal(for: wind, completionHandler: nil)
        }
    }

questo il codice dell'appdelegate:

import Cocoa

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
    
    @IBOutlet weak var window: NSWindow!
    let gd = GenericDialog()
    let dwn = Downloader()
    
    func applicationDidFinishLaunching(_ aNotification: Notification) {
        if !FileManager.default.fileExists(atPath: "...") {
            gd.loadigDialog(wind: window)
            var res = false
            dwn.download() { result in
                if result {
                    res = true
                    NSApplication.shared.abortModal()
                }
            }
        }
    }
    
    func applicationWillTerminate(_ aNotification: Notification) {
        // Insert code here to tear down your application
    }
}

dove Downloader() è la classe che si occupa del donwload.

il problema è che, quando si avvia l'applicazione, viene visualizzato solo il loading.

non viene fatto il download, ed inoltre non riesco a capire come chiudere il dialog.

qualcuno sa aiutarmi??

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...