如何解雇AlertViewController

时间:2016-10-10 11:35:02

标签: objective-c uialertview

当我在uialertviewcontroller中调用方法时,出现以下问题http://joxi.ru/DrlOO41i4WBNMA

如果在外面工作正常。
任何想法 - 将非常感激。

[[WashappService sharedInstance] auth:^(BOOL value) {
        if(value==TRUE){
            [self presentViewController:[LoginController authConfirmScreen:self toUser:user toPhone:szPhone  success:^{

                [(MenuClientController*)self.menuContainerViewController.leftMenuViewController updateData];

                User* user = [User new];
                user = [UserPreference get:KEY_CLIENT];
                user.typeOwner = self.isWashAdmin;
                [UserPreference save:KEY_CLIENT toValue:user];
                [[WashappService sharedInstance] updateToken:user.token];

                self.nStatusLogin = 1;
                if (self.isWashAdmin){
                    OOrdersViewController *vMain = [[UIStoryboard storyboardWithName:@"Main" bundle:NULL] instantiateViewControllerWithIdentifier:@"OOrdersViewController"];
                    [self.navigationController pushViewController:vMain animated:YES];
                }else{
                    CMainViewController *vMain = [[UIStoryboard storyboardWithName:@"Main" bundle:NULL] instantiateViewControllerWithIdentifier:@"CMainView"];

                    [self.navigationController pushViewController:vMain animated:YES];
                }


            }] animated:YES completion:nil];


        } else {
            [TSMessage showNotificationWithTitle:NSLocalizedString(@"Error", @"Ошибка")
                                        subtitle:NSLocalizedString(@"Login failed", @"Не удалось авторизоваться")
                                            type:TSMessageNotificationTypeError];

        }
    } toPhone:szPhone toOwnerType:self.isWashAdmin];

1 个答案:

答案 0 :(得分:0)

这里是UIAlertViewController的代码

+(UIAlertController *)authConfirmScreen:(UIViewController *)root toUser:(User *)user toPhone:(NSString *)phone success:(void(^)())callback {     __block UITextField * fieldCode = nil;

UIAlertController* alertConfirm=[LoginController alert:NSLocalizedString(@"Confirmation", @"Подтверждение") toMsg:NSLocalizedString(@"Enter the verification code", @"Введите проверочный код") toActionTitle:NSLocalizedString(@"Send", @"Отправить") toAction:^(UIAlertAction *action) {
    [[WashappService sharedInstance] authConfirm:^(BOOL value, User *userNew) {

        if (value) {
            [alertConfirm.view removeFromSuperview];
            [user apply:userNew];
            user.ownernotifications = [NSNumber numberWithInt:OWNER_RECEIVEALWAYS];
            [UserPreference save:KEY_CLIENT toValue:user];
            [[WashappService sharedInstance] saveDeviceToken:user];


            [[WashappService sharedInstance] getFilters:^(BOOL value, Filters *filterNew) {
                if (value) {
                    Filters* filters = [Filters new];
                    [filters apply:filterNew];
                    [UserPreference save:KEY_FILTERS toValue:filters];
                }
            } ];

            callback();

        } else {
            [LoginController msgError:root toAction:^(UIViewController *parentIn) {
                UIAlertController* test= [LoginController authConfirmScreen:parentIn toUser:user toPhone:phone success:callback];
                [parentIn presentViewController:test animated:YES completion:nil];
            }];

        }
    } toPhone:phone toCode:fieldCode.text];
} toTextField:^(UITextField *textField) {
    fieldCode=textField;
    textField.keyboardType=UIKeyboardTypeNumberPad;
    [textField setTintColor:[@"3f3b47" representedColor] ];
} toCancelTitle:NSLocalizedString(@"Cancel", @"Отмена")];

return alertConfirm;

}