Je veux seulement que l'alerte apparaisse si la variable "genderDefault" n'a pas encore été affectée.NSUserDefault non sauvegardé
Ce code est supposé enregistrer le choix de l'utilisateur:
func genderAlert()
{
let alertController = UIAlertController(title: "Quick Question", message: "What's your gender?", preferredStyle: UIAlertControllerStyle.Alert)
let okAction = UIAlertAction(title: "Male", style: UIAlertActionStyle.Default) {
UIAlertAction in
NSLog("Male Pressed")
self.genderDefault.setValue("male", forKey: "gender")
}
let cancelAction = UIAlertAction(title: "Female", style: UIAlertActionStyle.Default) {
UIAlertAction in
NSLog("Female Pressed")
self.genderDefault.setValue("female", forKey: "gender")
}
alertController.addAction(okAction)
alertController.addAction(cancelAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
C'est le instruction if qui contrôle si l'alerte apparaît:
if(genderDefault != "male" || genderDefault != "female")
{
genderAlert()
}
Qu'est-ce 'genderDefault'? Lorsque vous le définissez, vous le traitez comme un dictionnaire. Lorsque vous le testez, vous le traitez comme une chaîne. Vous devez montrer plus de code. Aussi, dans votre si vous voulez un et '&&' car il ne peut pas être à la fois masculin et féminin en même temps. Ou vous pouvez utiliser == au lieu de! = Avec ou || – Paulw11
Comment corrigeriez-vous genderDefault. Je ne l'utilise nulle part ailleurs. @ Paulw11 – Steve
Je ne pense pas que ce soit cassé. Je pense que votre logique si est cassée, mais vous n'avez pas montré d'où viennent ces variables ou obtenir leurs valeurs puisque vous n'avez pas montré ce code – Paulw11