我正在使用Xcode 9.2和Swift 4。
当我尝试实现委托方法didSelectCountry时,我收到错误:
Type 'MBRegisterTableViewController' does not conform to protocol 'CountryPickerViewDelegate'
但我已经
了func countryPickerView(_ countryPickerView: CountryPickerView, didSelectCountry country: Country) {}
协议声明:
public protocol CountryPickerViewDelegate: NSObjectProtocol {
/// Called when the user selects a country from the list.
func countryPickerView(_ countryPickerView: CountryPickerView, didSelectCountry country: Country)
}
Xcode提供使用存根,但它根本没用。 愚蠢的问题,但我被卡住了。
ViewController Protocol declaration
更新:好的,这是Xcode的一个错误。它应该工作得很好。它在整个项目中有错误的类引用。
答案 0 :(得分:2)
根据您发布的要点,我发现扩展名为“CountryPickerViewDelegate”的扩展名为空。您需要在该扩展中实现所有CountryPickerViewDelegate协议的方法。例如,该协议有1个名为
的方法free2(void *p1, void *p2)`
free3(void *p1, void *p2, void *p3)
free4(void *p1, void *p2, void *p3, void *p4)
// maybe a few others
你需要实现类似下面的内容
countryPickerView(_ countryPickerView: CountryPickerView, didSelectCountry country: Country) -> Void
之后再次构建项目。有时Xcode会卡住并报告错误,直到您进行干净并重新构建。
希望有所帮助