对于-[UIApplicationDelegate application:openURL:sourceApplication:annotation:]
,网址可以是nil
吗?我问,因为我看到有人付了支票if (url) // ...
,但这不是不必要的吗?即,这个方法是不是总是使用NSURL
的非零openURL
参数调用?
答案 0 :(得分:2)
假设有一个外部调用(即来自另一个尝试打开你的应用程序),那么我认为它是非零的,但是也许(不太可能我知道)你在内部调用它可能是什么情况?
但假设是危险的!
因此,如果值为零,那么在做出可能导致崩溃的事情之前检查值是否明智是合理的。
似乎可以检查你是否问我。
答案 1 :(得分:2)
根据Apple文档,url参数为:
表示URL的对象(Universal 资源定位器)。请参阅Apple URL Apple注册的方案参考 网址的方案。
您必须注册您的申请才能接受特定的网址 This article显示了它是如何完成的。
这会让我相信,除非它遵守应用程序指定的URL Schema,否则不会调用此方法。
如果在内部调用它,那么你知道是否需要检查是否为nil。至于调用它的外部应用程序,我看不出会发生这种情况。