【问题标题】:iOS: Can openURL ever be nil?iOS:openURL 可以为零吗?
【发布时间】:2011-06-07 17:34:14
【问题描述】:

对于-[UIApplicationDelegate application:openURL:sourceApplication:annotation:],URL 可以是nil 吗?我之所以问是因为我看到有人签了支票if (url) // ...,但这不是不必要的吗?也就是说,这个方法不是总是被openURL的非零NSURL参数调用吗?

【问题讨论】:

    标签: iphone objective-c ios uiapplicationdelegate


    【解决方案1】:

    假设一个外部调用(即来自另一个试图打开你的应用程序),那么我会假设它不是 nil,但是也许(我不太可能知道)你在内部调用它,在这种情况下它可能是?

    然而假设是危险的!

    因此,如果该值为 nil,则在执行可能导致崩溃的操作之前检查该值似乎是明智的。

    如果你问我,似乎可以。

    【讨论】:

      【解决方案2】:

      根据Apple Documentation,url参数是:

      表示 URL 的对象(通用 资源定位器)。见苹果网址 苹果注册方案参考 URL 的方案。

      您必须注册您的应用程序才能接受特定的 URL。
      This article 显示了它是如何完成的。

      这会让我相信除非它遵循应用程序指定的 URL 架构,否则不会调用此方法。

      如果在内部调用它,那么您将知道是否需要检查 nil。至于调用它的外部应用程序,我不知道会发生什么。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-23
        • 1970-01-01
        • 2016-05-22
        • 1970-01-01
        • 2015-07-24
        相关资源
        最近更新 更多