我是新手开发者,尝试返回2个变量但没有任何成功。以下是我已经尝试过的内容:
我试图将这两个变量(我不确定这些是变量还是名称不同)放入数组然后调用return,但错误是:
"无法将[Int]类型的返回表达式转换为返回类型int"
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
var typeAndStoreArray = [Int]()
typeAndStoreArray.append(stores.count)
typeAndStoreArray.append(types.count)
return typeAndStoreArray
}
我尝试将stores.count
放入名为sc
和types.count
的变量中,并将其放入名为tc
的变量中,但此处我还有错误
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
let sn = stores.count
let tn = types.count
return (sn, tn)
}
答案 0 :(得分:2)
尝试了解此委托方法的功能。
每个组件多次调用该方法。它传递组件的索引并期望返回相应的行数。
因此,如果您的stores
数组是组件0而types
是组件1,则必须编写
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if component == 0 {
return stores.count
} else {
return types.count
}
}
答案 1 :(得分:1)
您滥用选择器视图。要有两个值的轮子,您需要分别返回每个轮子的计数。拾取器视图中的组件就像轮子一样。因此,要让第一个轮子(组件)显示商店,然后显示第二个轮子显示类型,您需要像这样单独返回计数
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if component == 0 {
return stores.count
} else
return types.count
}
}