iOS 开发实用技术导航
NSHipster 中文版
› http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
› http://www.cocos2d-iphone.org/
CocoaPods
› http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
› http://code.google.com/mobile/analytics/
WWDC
› https://developer.apple.com/wwdc/
Design Guides and Resources
› https://developer.apple.com/design/
Transcripts of WWDC sessions
› http://asciiwwdc.com
Cocoa with Love
› http://cocoawithlove.com/
Cocoa Dev Central
› http://cocoadevcentral.com/
NSHipster
› http://nshipster.com/
Style Guides
› Google Objective-C Style Guide
› NYTimes Objective-C Style Guide
Useful Tools and Services
› Charles Web Debugging Proxy
› Smore
run2
V2EX  ›  iDev

请问怎么把 NSNotification.object: AnyObject? 转为 NSURL

  •  
  •   run2 · Apr 14, 2015 · 2871 views
    This topic created in 4221 days ago, the information mentioned may be changed or developed.

    问题源于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

    5 replies  •  2015-04-15 10:09:43 +08:00
    jokester
    jokester
    Apr 14, 2015❤️1
    1
    哪源于那么远... cast是语法的一部分..

    if let url = urlObject.object as? NSURL {
    // 打开URL
    }
    run2
    run2
    OP
    Apr 14, 2015
    2
    @jokester 请问as! as?哪个更好点,如果清楚的知道传来的是NSURL 之类的object的话
    jokester
    jokester
    Apr 14, 2015❤️1
    3
    @sobigfish 你真的十分确定就直接as.. 还可以兼作assert
    这部分内容在swift guide的type casting一节
    run2
    run2
    OP
    Apr 15, 2015
    4
    @jokester 感谢 你说的那个是1.2前的语法吧。
    jokester
    jokester
    Apr 15, 2015
    5
    @sobigfish 嗯。。我们还没在用1.2
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4281 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 01:08 · PVG 09:08 · LAX 17:08 · JFK 20:08
    ♥ Do have faith in what you're doing.