“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(applic‌​ation, 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的主要内容,如果未能解决你的问题,请参考以下文章

将文件路径转换为文件 url[NSUrl]

C#中提示无法将string隐式转换为bool类型,请问怎么办?

将 URL 转换为字符串并再次返回

带空格的字符串无法转换为 NSURL - Mantle

无法将类型“System.DateTime”隐式转换为“string”是啥意思?怎么改正?

无法将 PFFile 类型的值转换为 NSURL