使用Swift2从AppDelegate重新打开iOS应用程序到指定的导航控制器

时间:2016-02-04 16:36:23

标签: swift uinavigationcontroller viewcontroller appdelegate

我正在使用Swift开发iOS项目。我有ViewController嵌入UINavigationController。我的应用与PDF中的plist文件相关联。用户可以在项目中打开通过电子邮件发送给他们的PDF。我知道这会涉及:

func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {

    if url != "" {

        // Load from Mail App

        incomingFileTransfer = url

        incomingStatus = "Incoming"

        /*let rootViewController = self.window!.rootViewController
        let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let setViewController = mainStoryboard.instantiateViewControllerWithIdentifier("MainMenu") as! MainMenuViewController
        rootViewController?.navigationController?.popToViewController(setViewController, animated: false)*/

    } else {

        // Regular Load

        print("App Delegate: No incoming file")

        incomingFileTransfer = nil

    }  

    return true
} 

如果用户位于应用的其他区域,并且他们再次从PDF打开应用,则该应用会打开回到他们所在的区域。我希望它始终打开第一个加载的ViewController。我看了here并试图在上面的AppDelegate部分中实现这一点,但没有运气。有人可以帮忙解决这个问题吗?特别是在Swift中?将Objective-C转换为Swift,我并不是真的很棒。

我的ViewController Title设置为MainMenu

enter image description here

ViewControllerUINavigationController设为Initial View,名称为Main

enter image description here

Storyboard Storyboard ID Main中有UINavigationController Identity Inspectorurl

enter image description here

更新

对不起。 Variable已分配给全局ViewController,然后将其加载到另一个WebView的{​​{1}}。

1 个答案:

答案 0 :(得分:0)

here视为@NSGangster建议,我进入了我的plist并添加了以下内容:

enter image description here

现在我的应用程序重新打开,好像这是第一次。