2015-08-23 1 views
0

J'ai défini un sélecteur qui ne retourne pas toujours la bonne valeur. Parfois cela fonctionne seulement mais la plupart du temps quand je choisis l'élément pickerView renvoie la mauvaise valeur.Le sélecteur ne retourne pas toujours la bonne valeur

Je l'ai fait associer le délégué de sortie au contrôleur de vue et je suis en utilisant le code suivant:

import UIKit 

class ViewController: UIViewController, UIPickerViewDelegate { 

var categories = ["animals", "profession", "sea_animals", "food", "tools", "misc", "all"] 

var cat: String = "" 
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 { 
    println("cat size: \(categories.count)") 
    return categories.count 
} 

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!{ 
    println("cat: \(categories[row])") 
     return categories[row] 
} 

}

cela fonctionne parfois, mais il est pas fiable. Une idée de ce que je fais à tort? Merci!

Répondre

0

J'ai trouvé le problème. Il y a une fonction pour sélectionner la rangée :)

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