iOS:openURL可以是零吗?

时间:2011-06-07 17:34:15

标签: iphone objective-c ios uiapplicationdelegate

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

2 个答案:

答案 0 :(得分:2)

假设有一个外部调用(即来自另一个尝试打开你的应用程序),那么我认为它是非零的,但是也许(不太可能我知道)你在内部调用它可能是什么情况?

但假设是危险的!

因此,如果值为零,那么在做出可能导致崩溃的事情之前检查值是否明智是合理的。

似乎可以检查你是否问我。

答案 1 :(得分:2)

根据Apple文档,url参数为:

  

表示URL的对象(Universal   资源定位器)。请参阅Apple URL   Apple注册的方案参考   网址的方案。

您必须注册您的申请才能接受特定的网址 This article显示了它是如何完成的。

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

如果在内部调用它,那么你知道是否需要检查是否为nil。至于调用它的外部应用程序,我看不出会发生这种情况。