我正在构建一个iOS应用程序,我需要提供忘记密码功能。我有一个存储注册用户及其详细信息的数据库(userArray)。我已经通过电子邮件进行了搜索,因此, 我如何做一个显示找到的密码的UIAlert ??? 下面是我试过的代码,但我的条件是错误的。
[self.theuser valueForKey:@“password”]是从数据库中检索到的密码及其字符串。
- (IBAction)ForgotPassword:(id)sender {
if ([[self.theuser valueForKey:@"password"] > 0 ]) {
UIAlertView *alert = [[UIAlertView alloc]initWithTitle: @"Success"
message: @"Your Password is:"
delegate: self
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
}
答案 0 :(得分:1)
您需要检查字符串的长度是否大于0,因为使用此:
if ([self.theuser valueForKey:@"password"])
如果值不是 nil ,将始终返回 true ,这意味着如果服务器代码返回密码的值为“” (两个引号之间没有空格)然后应用会识别出值不是并显示一个没有文字的警告
所以最终的代码应该是这样的:
- (IBAction)ForgotPassword:(id)sender {
NSString *retrievedPassword = [self.theuser valueForKey:@"password"];
if ( retrievedPassword.length > 0) {
NSString *message = [NSString stringWithFormat:@"Your password is: %@", retrievedPassword];
UIAlertView *alert = [[UIAlertView alloc]initWithTitle: @"Success"
message: message
delegate: self
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
}
}
答案 1 :(得分:0)
变化:
@"Your Password is:"
为:
[NSString stringWithFormat:@"Your Password is: %@", [self.theuser valueForKey:@"password"]]
你也可以改变这个:
if ([[self.theuser valueForKey:@"password"] > 0 ]) {
到此:
if ([self.theuser valueForKey:@"password"]) {
如果它不存在,则会被视为“假”。任何其他值都是“真实的”。