Ho 2 controller UIPicker in uno dei controller di visualizzazione. Posso far sì che uno funzioni, ma quando aggiungo un secondo, la mia app si arresta in modo anomalo. Ecco il codice che uso per una vista di selezione:Come utilizzare 2 UIPickerView in un controller di visualizzazione?
import UIKit
class RegisterJobPosition: UIViewController, UIPickerViewDelegate{
@IBOutlet weak var positionLabel: UILabel!
var position = ["Lifeguard", "Instructor", "Supervisor"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func numberOfComponentsInPickerView(PickerView: UIPickerView!) -> Int
{
return 1
}
func pickerView(pickerView: UIPickerView!, numberOfRowsInComponent component: Int) -> Int
{
return position.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!
{
return position[row]
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
positionLabel.text = position[row]
}
}
Ora, come posso far funzionare un secondo controller? Dire che il mio secondo PickerView si chiama location
(l'altro è chiamato position
). Ho provato a duplicare il codice nei metodi PickerView per location
ma non funziona.
Sto usando Swift.
Avrete bisogno di un modo per distinguere tra loro due se il controller di visualizzazione è l'unico delegato per la gestione dell'interazione dell'utente. Puoi pubblicare il codice che stai utilizzando per differenziarli? – andrewcbancroft
Ho appena duplicato il codice. Ad esempio, nel metodo numberOfRowsInComponent, ho appena inserito: return location.count – dom999999
Questa parte ha senso. Ma come stai programmando a livello di codice a quale istanza di picker stai restituendo un conteggio? Se hai due istanze di selezione che inviano messaggi al tuo controller di visualizzazione singola (delegato), è necessario un modo per identificare i raccoglitori in modo da poter eseguire la logica di derivazione appropriata e restituire il conteggio corretto per il selezionatore corretto. – andrewcbancroft