gpt4 book ai didi

swift - 2 PickerView 上的错位信息

转载 作者:行者123 更新时间:2023-11-28 06:10:39 25 4
gpt4 key购买 nike

我在我的应用程序中使用了 2 个 Pickerview。然而他们的信息在使用时会混合。例如:如果我在第一个选择器中选择 2.row,那么系统会将第二个选择器的行更改为 2,反向也是如此。

我的代码在这里:

    override func viewDidLoad() {
super.viewDidLoad()

petArray = ["A","B","C","D"]

feedTimeArray = ["1","2","3","4"]

}

func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if pickerView.tag == 1{
return petArray.count
}
if pickerView.tag == 2 {
return feedTimeArray.count
}
return 0
}

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if pickerView.tag == 1 {
return petArray[row]
}
if pickerView.tag == 2{
return feedTimeArray[row]
}
return ""
}

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
selectedFeed = feedTimeArray[row]
print(feedTimeArray[row])

if selectedFeed == feedTimeArray[1] {
//case 1
}

if selectedFeed == feedTimeArray[2] {
//case 2
}
if selectedFeed == feedTimeArray[3] {
//case 3
}

selectedPet = petArray[row]
print(petArray[row]) }

示例:

我选择了B系统将第二个选择器更改为 2

我选择了 4系统将第一个选择器更改为 D

最佳答案

我想你的didSelectRow方法应该是这样的

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

if pickerView.tag == 1
{
selectedFeed = feedTimeArray[row]
print(feedTimeArray[row])

if selectedFeed == feedTimeArray[1] {
//case 1
}

if selectedFeed == feedTimeArray[2] {
//case 2
}
if selectedFeed == feedTimeArray[3] {
//case 3
}
}
else if pickerView.tag == 2
{
selectedPet = petArray[row]
print(petArray[row])
}
else
{ }
}

关于swift - 2 PickerView 上的错位信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46806389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com