从URL方案获取参数-Swift Xcode

Ger*_*win 3 url-scheme info.plist viewdidload ios swift

我在中创建了一个URL方案Info.plist来调用我的应用程序,但是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
}
Run Code Online (Sandbox Code Playgroud)

据称,每当我通过URL调用应用程序时都会调用该函数,但是却从未调用过该函数,而且我无法想象我必须将该函数放入中viewDidLoad,如果我确实将其放入中,viewDidLoad那么它将每次都被调用该应用程序已启动。

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

Ger*_*win 5

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
}
Run Code Online (Sandbox Code Playgroud)

需要位于AppDelegate.Swift中,然后可以通过执行以下操作在viewcontroller中进行访问-

var appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate;
Run Code Online (Sandbox Code Playgroud)

然后您可以通过执行以下操作来调用变量:

var something = pathScheme.appDelegate;
Run Code Online (Sandbox Code Playgroud)