J'essaye d'écrire un convertisseur DST basique. J'ai un contrôle segmenté avec 3 choix, leurs titres (étonnamment) sont Distance, Vitesse et Temps. J'ai 2 champs de texte d'entrée et un bouton de calcul, ainsi que 2 étiquettes pour chaque champ de texte avec le type de mesure nécessaire et ses unités. Faire une sélection sur le contrôle segmenté devrait mettre à jour la vue en conséquence. Les variables ont toutes été déclarées comme IBOutlets, @property, @synthesize, et le code se trouve dans une méthode IBAction, qui est connectée au contrôle segmenté. Le code suivant ne fonctionne pas, est-ce que quelque chose me manque complètement? (NSLog montre le titre correct)Cocoa Touch - Le titre UISegmentedControl ne fonctionne pas dans l'instruction IF/ELSE
NSString *choice;
choice = [dstChoiceSegmentedControl titleForSegmentAtIndex: dstChoiceSegmentedControl.selectedSegmentIndex];
NSLog(@"Choice |%@|", choice);
if (choice == @"Distance") {
firstLabel.text = @"Speed:";
firstUnitsLabel.text = @"kts";
secondLabel.text = @"Time:";
secondUnitsLabel.text = @"hrs";
answerUnitsLabel.text = @"nm";
} else if (choice == @"Speed") {
firstLabel.text = @"Distance:";
firstUnitsLabel.text = @"nm";
secondLabel.text = @"Time:";
secondUnitsLabel.text = @"hrs";
answerUnitsLabel.text = @"kts";
} else if (choice == @"Time") {
firstLabel.text = @"Distance:";
firstUnitsLabel.text = @"nm";
secondLabel.text = @"Speed:";
secondUnitsLabel.text = @"kts";
answerUnitsLabel.text = @"hrs";
}
Merci pour votre aide (et je l'espère, ce n'est pas une erreur stupide qui me regardait fixement droit dans le visage)!
Eh bien, la chaîne elle-même est aussi un pointeur. –
Merci, cela a fonctionné un régal. Comme je suis relativement nouveau à la programmation, pourquoi est-il préférable de vérifier les indices (ce que je fais maintenant) plutôt que de savoir si les chaînes correspondent? –
Il faut moins de ressources pour comparer les nombres entiers, alors il faut comparer les chaînes et donc être un peu plus rapide. Cependant, vous ne sentirez probablement pas la différence. – Toastor