调用VIewDidLoad但未加载视图

时间:2014-03-14 12:01:13

标签: ios ios7 uiviewcontroller uinavigationcontroller viewdidload

我正在尝试在按钮操作上加载ViewController,但它不会在iPhone中加载。

- (IBAction)SubmitTapped:(id)sender
{
    if([txtName.text isEqualToString:@"User"])
    {
        NSLog(@"It is User");
    }
    else
    {
        NSString *soapMessage = @"";

        ThirdVC *thirdVCObj = [self.storyboard  instantiateViewControllerWithIdentifier:@"pushToThirdVC"];

        [self.navigationController pushViewController:thirdVCObj animated:YES];

        [self generalParsing:@"" :soapMessage];

        [sender setUserInteractionEnabled:NO];
    }
}

注意: - 我已确认我的UIViewController班级名称确定& storyboard id代码正常,否则会崩溃,当我创建VC RootView的{​​{1}}时UINavigationController而不是ThirdVC点击SecondVC& #39; s按钮操作,但当我将RootView UINavigationController分配给SecondVC时,它会加载我的Third VC

我尝试将上面的两行Push代码放到我的Web Service解析类中,但它也没有加载到那里。

我的viewDidLoad&正在调用viewWillAppear,我在这些方法中设置了登录。

我在StackOverFlow搜索了所有可能的问题,但我找不到任何解决方案。

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
enter code here

My Snap For StoryBoard

1 个答案:

答案 0 :(得分:2)

首先,您的代码违反了所有“Cocoa编码指南”

我将此代码复制到一个新项目中并且可以正常工作。 问题是WebService解析器,确保从主线程调用pushViewController:animated:。

试试这个

    dispatch_async(dispatch_get_main_queue(), ^{
        NSString *soapMessage = @"";

        ThirdVC *thirdVCObj = [self.storyboard  instantiateViewControllerWithIdentifier:@"pushToThirdVC"];

        [self.navigationController pushViewController:thirdVCObj animated:YES];

        [self generalParsing:@"" :soapMessage];

        [sender setUserInteractionEnabled:NO];
    });