我第一次尝试实现第二个场景,但遇到了一些问题。只需尝试在表格视图中显示包含数组数据的单元格块。与我的第一个场景非常相似的代码,这就是为什么我对它为什么不起作用感到困惑。
代码如下:
#import "ChooseServerView.h"
#import "ViewController.h"
@interface ChooseServerView ()
@end
@implementation ChooseServerView;
@synthesize serverSelection;
- (void)viewDidLoad
{
serverSelection = [[NSArray alloc] initWithObjects:@"Chicgo, IL",@"London, UK",@"San Jose, CA",@"Washington, DC", nil];
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
#pragma mark - Table View Methods
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; // Default is 1 if not implemented
{
return 2;
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section; // fixed font style. use custom view (UILabel) if you want something different
{
if (section == 0) {
return @"Standard Test Locations:";
}
else {
return @"Quality Test Locations:";
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
{
if (section == 0) {
return [serverSelection count];
}
else {
return 1;
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
{
UITableViewCell *stdLocCell = nil;
stdLocCell = [tableView dequeueReusableCellWithIdentifier:@"serverSelection"];
if (stdLocCell == nil) {
stdLocCell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"serverSelection"];
}
switch (indexPath.section) {
case 0:
stdLocCell.textLabel.text = [serverSelection objectAtIndex:indexPath.row];
break;
case 1:
stdLocCell.textLabel.text = @"Speed Test";
break;
default:
break;
}
return stdLocCell;
}
@end
转场按预期工作,导航和标签栏出现,但没有单元格或数据,只是空白。
移动到新场景时,输出中有一条注释:
2013-01-03 13:08:34.878 MyConnection[15996:907] Interface Builder 文件中的未知类 GLKView。
不确定这是否与缺乏数据有关。
New Class 控制器连接到情节提要上的新场景,并出现在编译指令中,如下所示: