Return swift 中有 2 个变量

Return 2 variables in swift

我是一名开发新手,尝试 return 2 个变量但没有成功。以下是我已经尝试过的方法:

  1. 我试图将这 2 个变量(我不确定它们是变量还是它们具有不同的名称)放入数组中,然后调用 return,但错误是:

    "cannot convert return expression of type [Int] to return type 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 放入名为 sc 的变量中,并将 types.count 放入名为 tc 的变量中,但这里我也遇到了错误

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

您误用了选择器视图。要有两个 轮,您需要分别 return 计算每个轮。选择器视图中的组件就像轮子。因此,要让第一个轮子(组件)显示商店,然后让第二个轮子显示类型,您需要 return 像这样单独计数

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    if component == 0 {
        return stores.count
    } else
        return types.count
    }
}

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

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

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

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
     if component == 0 {
        return stores.count
     } else {
        return types.count
     }
}