问题源于JadenGeller/Helium 一个极简的可以让你在浏览网页的同时做其他事(比如预览正在开发的网页)的浮动浏览器
现有的打开网页很麻烦,想为其加入url scheme打开的功能。
因为打算用NSNotification
以配合之前的代码
NSNotificationCenter.defaultCenter().postNotificationName("HeliumLoadURL", object: urlObject)
而在view 注册,直接将object 设为NSURL.self
的时候 获取不到
override func viewDidLoad() {
//...
NSNotificationCenter.defaultCenter().addObserver(self, selector: "loadURLObject:", name: "HeliumLoadURL", object: nil)
//...
}
func loadURLObject(urlObject:NSNotification) {
let url:NSURL = (urlObject.object as! NSURL) //怎么转?
println("opening:\(url)")
webView.loadRequest(NSURLRequest(URL: url))
}
请问怎么把NSNotification.object: AnyObject? 转为NSURL
1
jokester 2015-04-14 22:13:45 +08:00 1
哪源于那么远... cast是语法的一部分..
if let url = urlObject.object as? NSURL { // 打开URL } |