【发布时间】:2016-11-01 08:41:58
【问题描述】:
我必须将我的 swift 2.x 代码迁移到 Swift 3.0。在这种情况下,我发现了一个问题“无法调用非功能类型的值 ((Selector!)-> Bool)!”。 我用谷歌搜索但没有找到解决我问题的任何好的解决方案。
我有一堂课,是用 Objective-C 写的:
@interface AEngineBool : AEngineData
@property BOOL value;
@end
还有另一个视图控制器类,我像这样使用 respondToSelector 访问它
let param: AnyObject = params[0]
if param.responds(#selector(AEngineBool.value)) {
let iType: Bool = param.value
// Something
}
并在上面提到的 param.response() 点上出现错误。
如果我改变了 if (param.responds(to: #selector(getter: AEngineBool.value))),然后我收到错误 Ambiguous use for 'value(forKey:)'。
【问题讨论】:
标签: ios objective-c swift3 ios10