“NSURL”不能隐式转换为“URL”;您的意思是使用“as”来显式转换吗?在迅速 3
Posted
技术标签:
【中文标题】“NSURL”不能隐式转换为“URL”;您的意思是使用“as”来显式转换吗?在迅速 3【英文标题】:“NSURL” is not implicitly convertible to “URL”; did you mean to use “as” to explicitly convert? in swift 3 【发布时间】:2016-09-28 06:12:03 【问题描述】:func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool
return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
【问题讨论】:
你为什么不直接按照编译器的Fix-It
呢?
因为修复它导致另一个错误,这次建议您将URL更改为url ...这导致另一个错误...
【参考方案1】:
在 swift 3.0 中,openURL
的方法签名是:
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool
return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
在方法签名中,NSURL
改为URL
。
【讨论】:
我仍然有错误:没有用于 openURL 的方法。它显示更改为打开:url @NithinRaghunath 您是否仍然遇到同样的错误?将参数类型从NSURL
更改为 URL 后,open url
。
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication :sourceApplication,注解:注解)。不支持此方法。它得到错误。它显示“修复它”替换为。 return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
然后替换它。唯一的区别在于方法签名。这是因为swift 3.0。
我对那个框架一无所知。我只知道如何纠正这种语法。:)以上是关于“NSURL”不能隐式转换为“URL”;您的意思是使用“as”来显式转换吗?在迅速 3的主要内容,如果未能解决你的问题,请参考以下文章
C#中提示无法将string隐式转换为bool类型,请问怎么办?