2016-07-16 10 views
0

Ich erstelle eine kleine Referenz-App, die einen UIPicker verwendet, um eine Organisation auszuwählen und dann Informationen basierend auf der Auswahl anzuzeigen. Das Grundformat ist:Artikel an derselben Position in mehreren Arrays zurückgeben

Picker geht hier

"Hier ist die Info für (ausgewählte Organisation)"

Info 1: (Info von Info-1-Array hier)

Info 2 : (hier Info Info 2 aus array)

Info 3: (Info Info aus 3-Array hier)

Info 4: (Info von Info 4 Array hier)

Info 5: (Info von Info-5-Array hier)

I abgeschlossen hat für den Picker Codierung und es wird den Wert der ausgewählten Organisation aus dem Array zurückkehrt, die sie füttert .

Die anderen Daten sind in separaten Arrays enthalten, aber die Position der Informationen wird über alle konsistent sein. Die Organisation an Position 0 hat alle Details an Position 0 in den anderen Arrays.

Was ich tun möchte ist, die Werte von den anderen Arrays, die an der gleichen Stelle wie das Ergebnis von der Auswahl zurückgegeben werden. Auf diese Weise werden die Daten jedes Mal, wenn der Picker bewegt wird, auf dem Bildschirm aktualisiert.

Ich kann nicht finden, die Referenz der Position des Ergebnisses, das mein Picker zurückgibt, zu verwenden und es zu verwenden, um auf die anderen Informationen zuzugreifen, die ich anzeigen muss.

würde ich begrüßen andere Vorschläge, wie diese Daten zu verwalten, wenn es welche gibt ...

Irgendwelche Ideen?

Antwort

0

Sie müssen einen Delegaten für Ihre UIPickerView definieren.

class Controller:UIViewController, UIPickerViewDelegate { 

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

     print("User selected row \(row)") 
    } 
} 

Vergessen Sie nicht, den Delegaten Eigenschaft der Picker Ansicht zu Ihren Viewcontroller im Interface Builder zu verdrahten.

Jetzt jedes Mal, wenn der Benutzer einen Wert auswählt, wird die obige Methode aufgerufen. Sie müssen nur den Parameter row verwenden, um auf Ihre Arrays zuzugreifen.

Verwandte Themen