升级到Swift 1.2后的错误

时间:2015-04-11 23:15:18

标签: ios swift

我的功能:

func application(application: UIApplication, didReceiveRemoteNotification userInfo: NSDictionary)

显示此错误:

  

Objective-C方法'应用程序:didReceiveRemoteNotification:'方法'应用程序提供(:didReceiveRemoteNotification :)'与可选的需求方法和应用程序冲突(:didReceiveRemoteNotification :)'在协议' UIApplicationDelegate'

我在另一篇文章中看到它只是修改了#34;重写"方法名称。这是什么意思?改名字?删除它并再次写入?

2 个答案:

答案 0 :(得分:4)

NSDictionary替换为[NSObject : AnyObject]

答案 1 :(得分:3)

Swift 1.2通过将一些类方法从NSDictionary类型重新映射到本机Swift [NSObject: AnyObject]类型,进一步远离其Objective-C基础。

将方法标题更改为:

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject: AnyObject])

您可以使用Swift转换工具修复此类错误,该工具可以在"转换"下的编辑菜单中找到。 (Edit -> Convert -> To Latest Swift Syntax...)。

我假设"重写"您的其他来源中的方法标题是删除该行并输入application(,然后从弹出菜单中选择didReceiveRemoteNotification选项,并允许自动完成功能完成剩下的工作。