iOS推视图控制器崩溃

时间:2014-04-07 15:50:22

标签: ios objective-c

我是iOS开发的初学者,所以如果已经提出这个问题,我会表示歉意。如果是这种情况,我请你指导我适当的线程。

我想实现一个场景,在第一个表视图控制器上单击表单上的标签时,会打开另一个表视图控制器,它为我提供了一个可以为该标签选择的选项列表。示例:如果第一个表视图控制器上的标签为“Gender”,则单击其旁边的箭头应打开另一个表视图控制器,其中行为男性,女性。

第一个控制器是编辑配置文件,其中我有以下代码:

- (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文件:

@interface DropDownViewController : UITableViewController
{
    NSMutableArray *drpOptions;
}

@property(nonatomic,retain)NSMutableArray *drpOptions;

@end

.m文件:

int count = [drpOptions count];

for (int i = 0; i < count; i++)
NSLog (@"Element %i = %@", i, [drpOptions objectAtIndex: i]);

当我点击第一个视图控制器上的按钮时,我希望屏幕翻转并显示下拉选项,但它会退出并显示错误。请指导。

由于

1 个答案:

答案 0 :(得分:0)

如果没有看到堆栈跟踪和错误代码,我无法回答您的问题。但是,通过查看您的代码,我可以看到您尝试将一个导航控制器推到另一个上。这将导致抛出错误。删除这行代码:

UINavigationController *passcodeNavigationController = [[UINavigationController alloc] initWithRootViewController:secondView];

并将pushViewController代码更改为:

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

在您未来的编程工作中,密切关注错误代码;他们通常可以很有帮助。你的错误应该说&#34;推送NavigationController不支持&#34;这是非常有用的信息,应该是Google的第一件事。