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


Join the conversation

You can post now and register later. 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