【发布时间】:2012-07-03 14:34:20
【问题描述】:
我正在编写一个有两个主要视图的应用程序。第一个是主屏幕,第二个是 UITableViewController 并填充了一个数组以显示用户的历史记录。 TableView 加载良好并且填充良好,问题是当我去打开主视图控制器备份时。如果我使用:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
ViewController *myView;
myView = [[ViewController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:myView animated:YES];
}
ViewController 出现了,但是屏幕是黑的!
如果我使用:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
ViewController *myView;
myView = [[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]];
[self presentModalViewController:myView animated:YES];
}
应用程序崩溃并告诉我:
* 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法在其中加载 NIB 捆绑:'NSBundle (已加载)' 名称为 'ViewController'' * 第一次抛出调用栈:(0x30f0a88f 0x35fdb259 0x30f0a789 0x30f0a7ab 0x318a434b 0x318123c7 0x316efc59 0x31665c17 0x31670267 0x316701d5 0x3170f59b 0x3170e367 0x317696a7 0x36dc1 0x316de93d 0x31758627 0x3094d933 0x30edea33 0x30ede699 0x30edd26f 0x30e604a5 0x30e6036d 0x3129f439 0x3165acd5 0x3465b 0x34600) 终止调用 抛出异常(lldb)
我对 iPhone 和 iPad 的应用程序编程非常陌生,但我认为这将是一项相当简单的任务。我之前在其他应用程序中切换过视图,但这个只是不工作。请帮忙!!!
【问题讨论】:
-
您的
UITableViewController是如何出现在屏幕上的? (您问题的元答案是反转所有内容,以便您返回到主屏幕,而不是尝试复制它。) -
您是如何创建 ViewController 的,我的意思是使用 nib 还是以编程方式?您能发布您的 ViewController UI 代码吗?
-
@NuzhatZari 我正在使用 xib 文件或布局来显示。我不是通过代码设置表单。有代码吗?
-
然后检查你的 nib 文件名和你在 myView = [[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]] 中提供的名称,我觉得不一样。
标签: iphone ipad uiviewcontroller uitableview