从 URL 方案中获取参数 - Swift Xcode

Get parameter from URL Scheme - Swift Xcode

我在 Info.plist 中做了一个 URL 方案来调用我的应用程序,但是 URL 还解析了我需要读取的一串数据。

环顾四周后我发现 - http://www.informit.com/articles/article.aspx?p=2301787&seqNum=2

使用以下代码

var scheme: String!
var path: String!

var query: String!

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

  scheme = url.scheme
  path = url.path
  query = url.query

  return true
}

据说每当我通过 URL 调用应用程序时都会调用该函数,但是该函数从未被调用过,我无法想象我必须将函数放在 viewDidLoad,如果我确实把它放在 viewDidLoad 中,每次应用程序启动时都会调用它。

我的假设是错误的吗 - 不需要在 viewDidLoad 中调用该函数,或者是否有更好的方法使用 [=29 从 URL 方案中获取数据=] 创建方案

var scheme: String!
var path: String!

var query: String!

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

  scheme = url.scheme
  path = url.path
  query = url.query

  return true
}

需要在 AppDelegate.Swift 中,然后您可以通过执行 -

在 viewcontroller 中访问它
var appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate;

然后您可以通过执行 -

来调用变量
var something = pathScheme.appDelegate;