必须实施 numberOfItemsInComboBox: 和 comboBox:objectValueForItemAtIndex:
Must implement numberOfItemsInComboBox: and comboBox:objectValueForItemAtIndex:
我在使用 Swift 4.2 的 XCode 项目中不断收到此错误。我正在创建 Mac OS Cocoa 应用程序并有一个绑定到数据源的简单组合框。有什么想法吗?
func numberOfItemsInComboBox(aComboBox: NSComboBox) -> Int {
return weatherCitiesArray.count
}
func comboBox(aComboBox: NSComboBox, objectValueForItemAtIndex index: Int) -> Any? {
if index == -1
{
print("recieved -1")
return weatherCitiesArray[0]
}
return weatherCitiesArray[index] as AnyObject
}
上面的方法定义有什么问题?
问题是您的方法签名与 NSComboBoxDataSource
协议要求的不匹配,您可以找到 here。要解决这些错误,请确保您的函数签名与协议匹配。您的代码最终看起来像这样:
func numberOfItems(in comboBox: NSComboBox) -> Int {
return weatherCitiesArray.count
}
func comboBox(_ comboBox: NSComboBox, objectValueForItemAt index: Int) -> Any? {
if index == -1
{
print("recieved -1")
return weatherCitiesArray[0]
}
return weatherCitiesArray[index] as AnyObject
}
我在使用 Swift 4.2 的 XCode 项目中不断收到此错误。我正在创建 Mac OS Cocoa 应用程序并有一个绑定到数据源的简单组合框。有什么想法吗?
func numberOfItemsInComboBox(aComboBox: NSComboBox) -> Int {
return weatherCitiesArray.count
}
func comboBox(aComboBox: NSComboBox, objectValueForItemAtIndex index: Int) -> Any? {
if index == -1
{
print("recieved -1")
return weatherCitiesArray[0]
}
return weatherCitiesArray[index] as AnyObject
}
上面的方法定义有什么问题?
问题是您的方法签名与 NSComboBoxDataSource
协议要求的不匹配,您可以找到 here。要解决这些错误,请确保您的函数签名与协议匹配。您的代码最终看起来像这样:
func numberOfItems(in comboBox: NSComboBox) -> Int {
return weatherCitiesArray.count
}
func comboBox(_ comboBox: NSComboBox, objectValueForItemAt index: Int) -> Any? {
if index == -1
{
print("recieved -1")
return weatherCitiesArray[0]
}
return weatherCitiesArray[index] as AnyObject
}