我在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
中调用,或者是否有更好的方法从使用Info.plist创建方案的URL方案中获取数据
答案 0 :(得分: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
}
需要在AppDelegate.Swift中,然后您可以通过执行 -
在viewcontroller中访问它var appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate;
然后您可以通过执行 -
来调用变量var something = pathScheme.appDelegate;