Мое приложение iphone застревает - PullRequest
0 голосов
/ 23 сентября 2009

После экрана входа в систему, который отправляет имя пользователя / пароль в веб-сервис и возвращает ответ либо true (который должен запускать остальную часть приложения), либо false (неверное имя пользователя / пароль или неавторизованный). Приложение выдает предупреждение о том, что вы прошли аутентификацию, но не загружает остальную часть представления?

Может кто-нибудь помочь мне?

if ([soapResults isEqualToString: @"true"])
    {
            UIAlertView *welcome = [[UIAlertView alloc] initWithTitle:@"Welcome!" message:@"Welcome, You are now authenticated to a Coyote Logistics application." delegate:self cancelButtonTitle:@"OK",nil otherButtonTitles:nil];
    [welcome show];
            [welcome release];
            [soapResults release];
            soapResults = nil;
            [loginIndicator stopAnimating];
            loginIndicator.hidden = TRUE;
            loggedinLabel.text = usernameField.text;
            loggedinLabel.textColor = [UIColor blackColor];
            NSLog(@"Valid Login"); 
            FeedsViewController *fvController = [[FeedsViewController alloc] initWithTitle:@"LoadBoard" withNavigationTitle:@"Available Loads" withPropertyFile:@"feeds.plist"];
            AboutViewController *avController = [[AboutViewController alloc] init];
            SettingsViewController *svController = [[SettingsViewController alloc] init];
            UINavigationController *fvNavController = [[UINavigationController alloc] initWithRootViewController:fvController];
            UINavigationController *avNavController = [[UINavigationController alloc] initWithRootViewController:avController];
            UINavigationController *svNavController = [[UINavigationController alloc] initWithRootViewController:svController];
            UITabBarController *tbController = [[UITabBarController alloc] init];

            fvNavController.navigationBar.tintColor = [UIColor colorWithRed:0.14 green:0.18 blue:0.25 alpha:1.00];
            avNavController.navigationBar.tintColor = [UIColor colorWithRed:0.14 green:0.18 blue:0.25 alpha:1.00];
            svNavController.navigationBar.tintColor = [UIColor colorWithRed:0.14 green:0.18 blue:0.25 alpha:1.00];


            [[fvController tabBarItem] setImage:[UIImage imageNamed:@"rss.png"]];

            tbController.viewControllers = [NSArray arrayWithObjects:fvNavController, avNavController, svNavController, nil];

            // Configure and show the window
            [window addSubview:tbController.view];
            [window makeKeyAndVisible];
            [LoginViewController release];
    }

1 Ответ

0 голосов
/ 08 октября 2009

Во-первых, если вы делаете это в методе делегата приложения applicationDidFinishLaunching, я бы порекомендовал вам этого не делать.

Почему? Потому что, если вы будете слишком долго использовать этот метод делегата, iPhone OS закроет вас и закроет приложение.

Рассматривали ли вы готовность навигационных контроллеров к контроллеру вкладок и использование модального имени для входа в систему?

Когда вы вернетесь к успеху, вы можете закрыть модал и продолжить, заполнив данные в навигационном контроллере (ах).

Тем не менее, если вы используете метод делегата applicationDidFinishLaunching, просто создайте контроллер представления и установите его модально, чтобы элемент управления мог вернуться к объекту UIApplication.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...