Vai al contenuto





fermat

Loading dialog in Swift su macOS

Recommended Posts

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??

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti


Rispondi e partecipa alla discusione

Puoi rispondere subito e iscriverti successivamente. If you have an account, sign in now to post with your account.

Ospite
Rispondi a questa discussione...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Crea Nuovo...

Info

Per offrirti il miglior servizio possibile il sito utilizza cookies, anche di terze parti e profilazione. Utilizzando il sito acconsenti al loro impiego. Privacy Policy Termini di utilizzo