ios - How to call the func in ViewController from appdelegate in Swift? -


i trying call function in viewcontroller appdelegate in swift?

in appdelegate.swift

class appdelegate: uiresponder, uiapplicationdelegate {      var window: uiwindow?     var first: firstviewcontroller!      func application(application: uiapplication, handleopenurl url: nsurl) -> bool {          firstviewcontroller.fileurl(url)         first.fileurl(url)         return true     } } 

in firstviewcontroller.swift

import uikit class firstviewcontroller: uiviewcontroller {     var externalfile: nsurl!     override func viewdidload() {         super.viewdidload()         // additional setup after loading view, typically nib.     }     func fileurl(url: nsurl){         externalfile = url         println("externalfile = \(externalfile)") } } 

in appdelegate.swift , call firstviewcontroller.fileurl() , try call first.fileurl().

when call firstviewcontroller.fileurl(url) , show cannot invoke 'fileurl' argument list of type '(nsurl)'.

when call first.fileurl(url) , crash , error log fatal error: unexpectedly found nil while unwrapping optional value.

did missing ? in advance.

since first object nil should first allocate new object using below code :

func application(application: uiapplication, handleopenurl url: nsurl) -> bool {          let first = firstviewcontroller()         first.fileurl(url)         return true     } 

Comments

Popular posts from this blog

javascript - Karma not able to start PhantomJS on Windows - Error: spawn UNKNOWN -

Nuget pack csproj using nuspec -

c# - Display ASPX Popup control in RowDeleteing Event (ASPX Gridview) -