编译我的应用程序工作 - 一切都很好。我得到的唯一错误是不推荐使用的函数(setText)。
现在唯一的问题是,当我点击表格中的单元格时,应用程序会崩溃,即使它意味着要推送到堆栈中的下一个视图。
如果您需要任何代码,请欣赏任何解决方案,只需询问。
另外,我怎样才能确保一个单元格只能进入一个视图?例如:
当我点击CSS时,它会带我到一个具有不同CSS级别的新表。当我点击新视图中的某个项目时,会出现一篇关于我刚刚选择的内容的文章。
的问候,
千斤顶
这是我在didSelectRowAtIndexPath方法中的代码:
-(void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.row==0){
NextViewController *nextController = [[NextViewController alloc]
initWithNibName:@"NextView" bundle:nil];
[self.navigationController pushViewController:nextController
animated:YES];
[nextController changeItemTable:[arryClientSide
objectAtIndex:indexPath.row]];
}
}
@end
(根据评论的要求)。
答案 0 :(得分:1)
因未捕获而终止应用 例外 'NSInternalInconsistencyException', 原因: - [UIViewController _loadViewFromNibNamed:bundle:]加载了“NextView”笔尖但视图插座 没设定。'
答案 1 :(得分:1)
当我们使用xib-interface创建新的UIViewControllerSubClass时,xib文件被创建为sourcecode.xib(可以在获取该xib文件的信息中看到):将sourcecode.xib更改为“file.xib”并查看魔术:)
答案 2 :(得分:0)
您需要像这样更新您的代码:
-(void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.row==0){
NextViewController *nextController = [[NextViewController alloc]
initWithNibName:@"NextView" bundle:nil];
[nextController changeItemTable:[arryClientSide
objectAtIndex:indexPath.row]];
[self.navigationController pushViewController:nextController
animated:YES];
}
else{ }
}
尝试使用此代码...
答案 3 :(得分:0)
评论中的错误说明:
因未捕获而终止应用 例外 'NSInternalInconsistencyException', 原因:' - [UIViewController _loadViewFromNibNamed:bundle:]加载了“NextView”笔尖但视图插座 没设定。'
如果从nib文件加载视图控制器并且其视图未设置为异常,则抛出异常。因此,当您在IB中创建视图时,必须将视图插座连接到视图控制器对象(可能是IB中的文件所有者)。
编辑:所以基本上在您的nib文件中的IB中,您需要执行以下操作:
1.将文件所有者的类型设置为NextViewController
2.将NextViewController的视图出口连接到View对象
答案 4 :(得分:0)
发布你分配的NextViewController!
[nextController release];
它正在泄漏。
答案 5 :(得分:0)
不要使用IB。相反,不要使用alloc init,然后在加载视图中:
self.view = [[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];