忘记密码:目标C.

时间:2015-02-25 00:59:16

标签: ios objective-c iphone

我正在构建一个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];
    }

2 个答案:

答案 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"]) {

如果它不存在,则会被视为“假”。任何其他值都是“真实的”。