假设我们有两个这样的 Obj-C 类:
Parent {
+ (void)doSomething {
NSLog(@"%@", [self messageToDisplay]);
}
+ (NSString *)messageToDisplay {
return @"message_parent";
}
}
Child: Parent {
+ (NSString *)messageToDisplay {
return @"message_child";
}
}
此 Swift 代码:
Child.doSomething()
它会产生此错误,因为Swift不知道要使用哪个候选对象(孩子或父母)。
“ doSomething()”的歧义用法 找到了这个候选人(孩子) 找到了这个候选人(父母)
我们如何指定要使用的候选人?
非常感谢。
答案 0 :(得分:1)
好,知道了。我找到了此问题的原因。我们在父类中有一个名为deleteObjectWithId的ObjC方法,在子类中有一个名为deleteGroupWithId的ObjC方法(顺便说是无用的),它是子类,从Swift调用delete(withId :)方法时,实际上有两个候选方法。非常感谢。