Как открыть AlertView при успешной проверке пин-кода в ObjC? - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь создать небольшое приложение, в котором пользователю нужно ввести пин-код на правильном булавке, он скажет правильный пин-код, в противном случае неправильно, но я не уверен, что моя логика верна ниже.Я использую Xcode10 в последней версии Mac.

- (IBAction)validatePin:(id)sender {
[ViewController checkPin:self.textPin.text.integerValue];
}

+(BOOL)checkPin:(NSInteger)pin {
if (pin == 1408)
{
   //[UIAlertController alertControllerWithTitle:@"Pin" message:@"Success" preferredStyle:UIAlertControllerStyleAlert];
    [[UIAlertView alloc] initWithTitle:@"Alert Title"
                               message:@"are you sure?"
                              delegate:self
                     cancelButtonTitle:@"No"
                     otherButtonTitles:@"Yes", nil];
    return YES;
}
[UIAlertController alertControllerWithTitle:@"Pin" message:@"Fail" preferredStyle:UIAlertControllerStyleAlert];
return NO;}

Я пробовал оба метода UIAlertView и UIAlertController, но не получил ответа на приложение.Может кто-нибудь исправить этот код в ObjC?

Спасибо

1 Ответ

0 голосов
/ 10 октября 2018

Нет необходимости создавать метод, вы можете напрямую проверить и активировать предупреждение, подобное этому.

- (IBAction)validatePin:(id)sender {
    if (self.textPin.text.integerValue == 1408) {
        UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Alert Title"
                                                                   message:@"PIN is Correct"
                                                            preferredStyle:UIAlertControllerStyleAlert];

        UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
                                                          handler:^(UIAlertAction * action) {}];

        [alert addAction:defaultAction];
        [self presentViewController:alert animated:YES completion:nil];
    }
    else {
        UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Alert Title"
                                                                   message:@"PIN is WRONG"
                                                            preferredStyle:UIAlertControllerStyleAlert];

        UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
                                                          handler:^(UIAlertAction * action) {}];
        [alert addAction:defaultAction];
        [self presentViewController:alert animated:YES completion:nil];
    }
}

Если вы хотите использовать свой код, измените его на этот.

- (IBAction)validatePin:(id)sender {
    BOOL isValidPin = [ViewController checkPin:self.textPin.text.integerValue];

    if (isValidPin) {
        // SHOW RIGHT ALERT
    }
    else {
        // SHOW WRONG ALERT
    }
}

+(BOOL)checkPin:(NSInteger)pin {
    if (pin == 1408) {
        return YES;
    }
    else {
        return NO;
    }
}
...