Я только хочу, чтобы предупреждение появилось, если переменная "genderDefault" еще не назначена.NSUserDefault не сохраняется
Этот код предположит, чтобы сохранить выбор пользователя:
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)
}
Это утверждение, если-то контролирует, показывает ли оповещение до:
if(genderDefault != "male" || genderDefault != "female")
{
genderAlert()
}
Что такое 'genderDefault'? Когда вы его устанавливаете, вы относитесь к нему как к словарю. Когда вы проверяете его, вы обрабатываете его как строку. Вам нужно показать больше кода. Кроме того, в вашем случае, если вы хотите, и '&&', поскольку он не может одновременно быть как мужчиной, так и женщиной. Или вы можете использовать == вместо! = С или || – Paulw11
Как бы вы исправили genderDefault. Я не использую его нигде. @ Paulw11 – Steve
Я не думаю, что он сломан. Я думаю, что ваша логика if нарушена, но вы не указали, откуда эти переменные исходят или получают свои значения, поскольку вы не указали этот код. – Paulw11