如何在IOS App中打开基于用户对附件的文件扩展名的特定视图(swift)

时间:2016-02-04 23:59:49

标签: core-data swift2

大家早上好,我需要你的帮助(再次);我创建了一个应用程序,生成具有两个不同文件扩展名的文件,如下所示:

  1. 第一个扩展名: .myexport(用于共享存储在本地核心数据存储中的所有信息)
  2. 第二次扩展: .myshare(用于与本地核心数据存储共享特定记录)。
  3. 这里的主要想法是,如果用户想要与其他设备(例如朋友设备)共享该信息,则可以通过电子邮件发送文件,因此当其他用户收到带有附件的电子邮件时,这应该是在查看A 中打开(基于下图)并在新设备中导入文件内容。但是,用户也可以将特定记录作为附件发送给另一个用户,当第二个用户收到电子邮件并打开附件时,该文件应该在查看B 中打开(基于下图),以便用户不会导入此信息,但可以查看和修改信息并将其发送回原始人员。

    2个文件的想法是因为应用程序必须根据收到的信息做不同的事情。

    如果有可能,我可以问你一些如何实现这个目标的代码示例吗?

    以下是故事板组织方式的图像示例。

    enter image description here

    感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

嗨我根据与推送通知相关的帖子弄明白了。

这是我用来处理附件部分的代码;更改位于AppDelegate.swift文件

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
        //url contains a URL to the file your app shall open


    do {
        if (url.path!.hasSuffix("fileext1")){
            let storyboard = UIStoryboard(name: "Main", bundle: nil)
            let vc = storyboard.instantiateViewControllerWithIdentifier("AddComment") as! AddCommentViewController
            vc.imported = true
            window?.rootViewController = vc
        }
        else if (url.path!.hasSuffix("fileext2")){

            let result = try General.SaveXmlToCoreData(url.path!)
        }
    }
    catch let error as NSError {
        NSLog(error.localizedDescription)
    }

    return true
}