2 PickerView 上的错位信息
Misplaced Information on 2 PickerView
我在我的应用程序中使用了 2 个 Pickerview。然而他们的信息在使用时会混合。例如:如果我在第一个选择器中 select 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]) }
示例:
我select编辑了B
系统将第二个选择器更改为 2
我select编辑了 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
{ }
}
我在我的应用程序中使用了 2 个 Pickerview。然而他们的信息在使用时会混合。例如:如果我在第一个选择器中 select 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]) }
示例:
我select编辑了B 系统将第二个选择器更改为 2
我select编辑了 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
{ }
}