Click here to view what I have.
我还想进一步说,当点击CSS时,它会转到一个新视图,其中包含另一个表。然后,该表将用户带到一个可滚动的详细视图,您可以通过它切换页面。
我会感谢更长,更有条理的教程,介绍如何将每一项工作带到工作。
这是我的实现文件中的数组:
- (void)viewDidLoad {
arryClientSide = [[NSArray alloc] initWithObjects:@"CSS", @"HTML", @"JavaScript", @"XML", nil];
arryServerSide = [[NSArray alloc] initWithObjects:@"Apache", @"PHP", @"SQL", nil];
self.title = @"Select a Language";
[super viewDidLoad];
}
和我的.h:
@interface RootViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> {
IBOutlet UITableView *tblSimpleTable;
NSArray *arryClientSide;
NSArray *arryServerSide;
}
我当前的代码崩溃了脚本,并在控制台中返回此错误:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "NextView" nib but didn't get a UITableView.'
如果该错误是其未推送的原因,那么解释如何补救也将受到赞赏
NextViewController实施
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
arryBasicCSS = [[NSArray alloc] initWithObjects:@"Implement", @"Syntax", @"Classes and IDs", @"Fonts", @"Backgrounds", @"Lists", @"Links", nil];
arryIntermediateCSS = [[NSArray alloc] initWithObjects:@"Padding and Margin", @"Alignment and Floating", @"Pseudo-class and Element", @"Opacity and Display", nil];
arryAdvancedCSS = [[NSArray alloc] initWithObjects:@"Sprites", @"Attribute Selectors", @"Animation", nil];
self.title = @"CSS";
[super viewDidLoad];
}
- (IBAction) changeItemTable:(NSString *)str{
tblCSS = str;
}
NextViewController.h
@interface NextViewController : UITableViewController {
IBOutlet UITableView *tblCSS;
NSArray *arryBasicCSS;
NSArray *arryIntermediateCSS;
NSArray *arryAdvancedCSS;
}
非常感谢, 千斤顶
答案 0 :(得分:1)
首先是“因未捕获的异常而终止应用”错误。我注意到你的RootViewController包含:
IBOutlet UITableView *tblSimpleTable;
检查以确保您已将RootViewController的“view”属性正确连接到UITableView,而不仅仅是将tblSimpleTable连接到TableView。 UITableViewController中的view属性需要指向UITableView。
假设tblSimpleTable是你要从这个UIViewController控制的TableView,删除这个插座并只使用UITableViewController的“view”或“tableView”属性,它们都是有效的。
有关分层表视图的原始问题,请查看此示例项目:
答案 1 :(得分:1)
如果SDK自己的文档未提供您需要的答案,请尝试使用Google搜索UITableView Interface Builder tutorial
。这应该返回一些有用的逐步教程。
您获得异常的原因是您没有将tblSimpleTable
出口连接到Interface Builder中的表视图对象。
IB Outlets http://i41.tinypic.com/ohr1jb.png
在Interface Builder中打开NextView.xib。选择File's Owner
对象。打开Inspector窗格,您应该会看到与我发布的图像类似的内容。您应该阅读“tblSimpleTable”而不是“searchTable”。要将插座连接到文件所有者,请单击并按住“tblSimpleTable”右侧的圆圈,然后将该行拖动到“tblSimpleTable”对象。
alt text http://i44.tinypic.com/2pr8pi0.jpg
保存更改,重建项目。
答案 2 :(得分:0)