0

我是一名新手开发人员,试图返回 2 个变量但没有任何成功。以下是我已经尝试过的:

  1. 我试图将这 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
    }
    
  2. 我试图放入stores.count变量调用sctypes.count变量调用tc,但在这里我也有一个错误

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        let sn = stores.count
        let tn = types.count
    
        return (sn, tn)
    }
    
4

2 回答 2

2

尝试了解此委托方法的功能。

每个组件都会多次调用该方法。它传递组件的索引并期望返回相应的行数。

因此,如果您的stores数组是组件 0 并且types是组件 1,您必须编写

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
     if component == 0 {
        return stores.count
     } else {
        return types.count
     }
}
于 2017-07-11T16:38:55.153 回答
1

您正在滥用选择器视图。要拥有两个值轮,您需要分别返回每个轮的计数。选择器视图中的组件就像轮子。因此,要让第一个轮子(组件)显示商店,然后是第二个轮子显示类型,您需要像这样单独返回计数

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    if component == 0 {
        return stores.count
    } else
        return types.count
    }
}
于 2017-07-11T16:29:51.187 回答