iOS pushing view controller crash
我是iOS开发的初学者,因此如果已经提出此问题,我深表歉意。在这种情况下,我要求您将我定向到适当的线程。
我想实现一个方案,即在第一个表视图控制器上单击表单上的标签时,将打开另一个表视图控制器,这为我提供了可供我为该标签选择的选项列表。示例:如果在第一个表格视图控制器上的标签为"性别",则单击旁边的箭头应打开另一个表格视图控制器,其行为公,母。
第一个控制器是"编辑配置文件",其中具有以下代码:
1 2 3 4 5 6 7 8 9 10 11 | - (IBAction)btndrpSelect_Click:(id)sender { DropDownViewController *secondView = [[DropDownViewController alloc] initWithNibName:@"DropDownViewController" bundle:nil]; self.GenderArray = [NSMutableArray arrayWithObjects: @"Male", @"Female", nil]; secondView.drpOptions = self.GenderArray; UINavigationController *passcodeNavigationController = [[UINavigationController alloc] initWithRootViewController:secondView]; [self.navigationController pushViewController:passcodeNavigationController animated:YES]; |
} ??
通用下拉表视图控制器具有以下代码:
.h文件:
1 2 3 4 5 6 7 8 | @interface DropDownViewController : UITableViewController { NSMutableArray *drpOptions; } @property(nonatomic,retain)NSMutableArray *drpOptions; @end |
.m文件:
1 2 3 4 | int count = [drpOptions count]; for (int i = 0; i < count; i++) NSLog (@"Element %i = %@", i, [drpOptions objectAtIndex: i]); |
当我单击第一个视图控制器上的按钮时,我希望屏幕翻转并显示下拉选项,但它会错误退出。请指导。
谢谢
在没有看到堆栈跟踪和错误代码的情况下,我不能确定地回答您的问题。但是,通过查看您的代码,我可以看到您尝试将一个导航控制器推到另一个。这将导致引发错误。删除以下代码行:
1 | UINavigationController *passcodeNavigationController = [[UINavigationController alloc] initWithRootViewController:secondView]; |
,然后将您的pushViewController代码更改为此:
1 | [self.navigationController pushViewController:secondView animated:YES]; |
在以后的编程工作中,请密切注意错误代码。他们通常会很有帮助。您的错误应该按照"不支持Pushing NavigationController"的方式说明,这是非常有用的信息,应该是您对Google的第一件事。