Swift : 选择器与重写方法具有不兼容的类型

标签: Objective-C Swift
发布时间: 2015/6/6 15:14:50
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我已经宣布目的 c: 中的类方法

+ (id) someFunction:(NSDictionary *)param;

当我子类的类和重写此方法,在 Swift 与此:

override class func someFunction(param : NSDictionary) -> AnyObject?

出现错误:

重写方法与选择器 'someFunction:' 有不兼容的类型' (NSDictionary) 网站-> AnyObject?'

如何重写方法正确?

解决方法 1:

当我尝试自动完成这类函数从别处在 Swift ,Xcode 告诉我, param[NSObject: AnyObject]! ,这使得工作方法声明:

override class func someFunction(param: [NSObject: AnyObject]!) -> AnyObject? {
    return "Foo"
}

这可能是一个编译器错误,因为很确信,适当的反应应该到桥 NSDictionary! (它似乎能弥合一个方式,但不是等或东西)。

赞助商