我正在尝试在按钮操作上加载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
答案 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]; });