【问题标题】:“NSURL” is not implicitly convertible to “URL”; did you mean to use “as” to explicitly convert? in swift 3“NSURL”不能隐式转换为“URL”;您的意思是使用“as”来显式转换吗?在迅速 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 ...这导致另一个错误...

标签: swift swift3


【解决方案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。
  • 我对那个框架一无所知。我只知道如何纠正这种语法。:)
猜你喜欢
  • 2016-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-05
相关资源
最近更新 更多