【发布时间】:2015-05-20 01:19:17
【问题描述】:
所以我有一个用 swift 编写的应用程序,我想使用深度链接。用户会点击一个在 URL 的路径中具有不同信息的内容,例如帖子的 id 或它拥有的喜欢的数量或类似的东西。我了解到您将其放在 AppDelegate 中:
func application(application: UIApplication,openURL url: NSURL,sourceApplication sourceApplication: String?,annotation annotation: AnyObject?) -> Bool {
println(url.host as String!)
return true
}
然后打印appname:// 之后的所有内容。但是我怎样才能将url.host 发送到我的视图控制器以解析为我需要的信息。如果 URL 的声明在该函数之外,那么我可以使用它:
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let InfoFromDeepLink = appDelegate.url.host
但由于它在那个庞大的 Objective-C 函数中,我很无奈。你怎么做到这一点?我完全感到困惑。我什至不能将函数设置为return url.host,因为它不允许这样做。这就是我在 Javascript 中所做的。如果您也知道 Javascript,可能会用 Web 开发人员可以理解的术语来表达,因为我对此很陌生。对于 Swift 开发人员来说,这一定很简单吧?我觉得自己好傻。
【问题讨论】:
标签: ios swift appdelegate deep-linking